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