Documentation

§Cross-Origin Resource Sharing

Play は Cross-Origin Resource Sharing (CORS) を実装したフィルタを備えています。

CORS は、web アプリケーションがブラウザから異なるドメインにリクエストを送信することのできるプロトコルです。完全な仕様は ここ で確認することができます。

§CORS フィルタの有効化

CORS フィルタを有効にするには、build.sbt 内の libraryDependencies に Play filters プロジェクトを追加してください:

libraryDependencies += filters

ここで、この filters に CORS フィルタを追加しますが、通常これはプロジェクトルートに Filters クラスを作成することで実現します:

Scala
import javax.inject.Inject

import play.api.http.HttpFilters
import play.filters.cors.CORSFilter

class Filters @Inject() (corsFilter: CORSFilter) extends HttpFilters {
  def filters = Seq(corsFilter)
}
Java
import play.api.mvc.EssentialFilter;
import play.filters.cors.CORSFilter;
import play.http.HttpFilters;

import javax.inject.Inject;

public class Filters implements HttpFilters {

    @Inject
    CORSFilter corsFilter;

    public EssentialFilter[] filters() {
        return new EssentialFilter[] { corsFilter };
    }
}

§CORS フィルタの設定

このフィルタは application.conf で設定することができます。設定オプションの全リストは、Play フィルタの reference.conf を参照してください。

利用できるオプションには以下のようなものがあります:

例:

play.filters.cors {
  pathPrefixes = ["/some/path", ...]
  allowedOrigins = ["http://www.example.com", ...]
  allowedHttpMethods = ["GET", "POST"]
  allowedHttpHeaders = ["Accept"]
  preflightMaxAge = 3 days
}

Next: WS SSL の設定


このドキュメントの翻訳は Play チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。