The symfony Reference Book

security.yml 設定ファイル

You are currently browsing
the website for symfony 1

Visit the Symfony2 website


About

You are currently reading "The symfony Reference Book" which is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.

Master symfony

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).
trainings.sensiolabs.com

Books on symfony

Learn more about symfony with the official guides.
books.sensiolabs.com

L'audit Qualité par SensioLabs

200 points de contrôle de votre applicatif web.
audit.sensiolabs.com

Chapter Content

認証

承認

symfony training
Be trained by symfony experts
May 29: Paris (Web Development with Symfony2 - Français)
May 31: Paris (Mastering Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - English)
Jun 06: Paris (Going Further with Symfony2 - English)
and more...

Search


powered by google
You are currently browsing "The symfony Reference Book" in Japanese for the 1.4 version - Switch to version: - Switch to language:
Creative Commons License This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.
The symfony reference guide
Support symfony!
Buy this book
or donate.
Buy The symfony reference guide from amazon.com

アプリケーションの認証 (authentication) と承認 (authorization) の要件は security.yml ファイルに記述します。

security.yml ファイルのコンフィギュレーションは user ファクトリクラスによって使われます (デフォルトは sfBasicSecurityUser)。認証と承認の実行は security フィルタが担います。

デフォルトでは、security.yml ファイルはアプリケーションの config/ ディレクトリに配置されています。アプリケーション全体のセキュリティ要件はこのファイルに記述します (default キーの下)。

default:
  is_secure: false

コンフィギュレーションカスケードで述べたように、security.yml ファイルでは、コンフィギュレーションカスケードのメカニズムがはたらいており、定数を定義することができます。

アプリケーションのデフォルトコンフィギュレーションをオーバーライドするには、 security.yml ファイルをモジュールの config/ ディレクトリに配置します。メインキーはアクションの名前で、プレフィックスの execute はつけません (たとえば executeIndex メソッドであれば index)。

アクションにアクセス制限がかけられているかどうかを判断するために、symfony は次の順序で情報を探します。

アクションにアクセスする際に必要なクレデンシャルを決めるのに同じ優先ルールが適用されます。

security.yml ファイルは PHP ファイルとしてキャッシュされます。処理は sfSecurityConfigHandler クラスにゆだねられます。

認証

security.yml ファイルのコンフィギュレーションはアプリケーションごとにインストールされ、デフォルトでは、すべてのユーザーのアクセスが許可されています。

default:
  is_secure: false

すべてのユーザーの認証をアプリケーション全体で必須にするには、アプリケーションの security.yml ファイルにおいて、is_secure キーに true をセットします。

アクセス制限がかけられたアクションに認証されていないユーザーがアクセスしようとすると、リクエストは settings.yml ファイルで指定されている login アクションに転送されます。

モジュールの認証要件を修正するには、 security.yml ファイルを config/ ディレクトリに配置し、all キーを定義します。

all:
  is_secure: true

個別のアクションの認証要件を修正するには、security.yml ファイルをモジュールの config/ ディレクトリに配置し、アクションの名前の下側でキーを定義します。

index:
  is_secure: false

無限ループに陥らないようにするため、login アクションにアクセス制限をかけられないようになっています。

承認

クレデンシャルを定義することで、一部のアクションにアクセスできる認証済みユーザーを細かく指定できます。クレデンシャルが定義されている場合、ユーザーはアクションへのアクセスに必須のクレデンシャルをもっていなければなりません。

all:
  is_secure:   true
  credentials: admin

symfony のクレデンシャルシステムはシンプルで強力です。クレデンシャルはアプリケーションのセキュリティモデルをあらわす文字列です (グループもしくはパーミッションのようなもの)。

複雑なクレデンシャル要件をわかりやすく示すことができるようにするために、credentials キーの設定のなかで配列記法を使ったブール演算がサポートされています。

ユーザーがクレデンシャル A かつクレデンシャル B をもっていなければならないことを示すには、これらのクレデンシャルを角かっこで囲みます。

index:
  credentials: [A, B]

ユーザーがクレデンシャル A またはクレデンシャル B をもっていなければならないことを示すには、これらのクレデンシャルを2つのペアの角かっこで囲みます。

index:
  credentials: [[A, B]]

任意の数のクレデンシャルによって任意の種類のブール式を示すために、複数のかっこを組み合わせることもできます。

cache.yml 設定ファイル »
« databases.yml 設定ファイル

Questions & Feedback

If you find a typo or an error, please register and open a ticket.

If you need support or have a technical question, please post to the official user mailing-list.