管理安全

安全性是 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