サーチ…


セキュリティの管理

セキュリティは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