サーチ…
セキュリティの管理
セキュリティはsymfonyドキュメンテーションの暗い側面の一部であり、 Security Componentという名前の専用コンポーネントがあります 。
このコンポーネントは、メインアプリケーションプロジェクトのsecurity.ymlファイルで設定されます。
デフォルト設定は次のようなものです:
# app/config/security.yml
security:
providers:
in_memory:
memory: ~
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
default:
anonymous: ~
特定のファイアウォールを定義して、パスワードセキュリティを管理するプロバイダーとエンコーダーによって定義されたユーザーの階層に基づいて、特定の役割へのURLへのアクセスを制限することができます。
たとえば、データベースエンジンからカスタムプロバイダを作成する場合は、 security.ymlを次のように定義します。
providers:
your_db_provider:
entity:
class: AppBundle:User
property: apiKey
これは、symfonyのドキュメンテーション: カスタムUserProviderの定義方法 、データベースやLDAPの 定義方法などにあります 。
その後、 ファイアウォールを定義して、カスタムユーザプロバイダ(security.yml)に基づくいくつかのURLを以下のように明示的に制限することができます:
firewalls:
secured_area:
pattern: ^/admin
またはアクセス制御で :
access_control:
- { path: ^/admin/users, roles: ROLE_SUPER_ADMIN }
- { path: ^/admin, roles: ROLE_ADMIN }
ここで詳細なドキュメントを参照してください。
ユーザーを管理する最善の方法は、いくつかのフレームワークの機能を拡張するFosUserBundleを使用することです。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow