管理安全

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