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