Jea*_*ean 7 user-roles symfony
我从安全的官方Symfony2文档中看到,除了"经典"角色(即ROLE_USER,ROLE_ADMIN等)之外,还可以定义新角色.
如何定义新角色并将其注册到我的Symfony2应用程序,以便在security.yml中创建角色层次结构?
抱歉打扰了你们所有人!我认为答案很简单.实际上,通过使用ROLE_启动名称似乎足以开始使用新角色.例如,可以说ROLE_NEWS_AUTHOR只允许具有该角色的人能够在网站中插入新闻.
谢谢.
Asi*_* AP 15
当然你可以简单地添加任何以ROLE_SOMEROLE开头的角色.在security.yml文件中有两个主要部分来限制访问2.谁是成员可以访问的
一个.access_control:限制模式并指定可以访问的角色.湾 role_hierarchy:这里是角色的层次结构,对于下面的示例,Admin用户(ROLE_ADMIN)具有角色ROLE_USER,ROLE_NEWS_AUTHOR.因此,他可以访问USER和NEWS_AUTHOR的所有页面.无论您可以提供什么层次结构.
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }/login any one can access this pattern
- { path: ^/admin/, roles: ROLE_ADMIN }//block all pattern /admin/anything*
- { path: ^/news/, roles: ROLE_NEWS_AUTHOR } //block all pattern /news/anything*
role_hierarchy:
ROLE_ADMIN: [ROLE_USER,ROLE_NEWS_AUTHOR]
Run Code Online (Sandbox Code Playgroud)
在您的控制器中,您可以检查角色,
if(TRUE ===$this->get('security.context')->isGranted('ROLE_ADMIN') )
{
// do something related to ADMIN
}
else if(TRUE ===$this->get('security.context')->isGranted('ROLE_NEWS_AUTHOR') )
{
// do something related to News Editor
}
Run Code Online (Sandbox Code Playgroud)
希望这对你有所帮助.快乐编码.
| 归档时间: |
|
| 查看次数: |
11508 次 |
| 最近记录: |