Symfony2:来自数据库的角色、用户和授权

Symfony2: Roles, Users and Grants from Database

我开始使用 Symfony2,我真的很喜欢它!

我有一些问题相信你会很容易地帮助我!

当我们使用安全层时,文件security.yml我们设置属性access_control,通常是这样的:

传统上使用php,我的系统访问规则我使用3tables:

其中,User有一个角色,权限与角色和资源相关。要检查用户是否有权访问资源,请检查 table 权限。

引入 Symfony2,属性 "path" 将是资源,ROLE_ADMIN 将是用户的角色。

怎么做 security.yml,从数据库加载设置。查了官方文档,什么都没找到

现在,谢谢

也许你会在这里找到答案。它描述了如何从数据库加载用户:

How to Load Security Users from the Database (the Entity Provider)

我建议使用 FOSUserBundle。它非常容易处理并帮助您在 Symfony2

中管理您的安全

FOSUserBundle

此致!

实际上,"read"路径(在security.yml文件中)的方法是:

- { path: ^/this/(path|regex|here)$, roles: {CAN_BE_ACCESED_ONLY, BY_THESE_ROLES} }

现在,您从哪里知道哪个用户拥有哪个角色?

来自wherever you load your users.

例如:

public function getRoles()
    {
        return array('ROLE_USER');
    }