
[英]How to override sfDoctrineGuard validators in order to allow login based on credentials
[英]Login based on user groups Symfony 1.4.20 and sfDoctrineGuard
我正在开发一个Symfony1应用程序,我正在使用sfDoctrineGuard插件,所有配置和工作正常! 但我有一个问题,我创建了3个用户:
username group_name
administrador super_administrator
user1 group1
user2 -
我还有两个应用程序站点和管理员。 用户管理员可以登录和访问管理员端的每个内容,其他人如user1和user2则不能。 user1和属于group1的每个用户都可以在站点前端登录,user2和没有group1分配的用户不能。 我尝试以这种方式保护模块仪表板,它是站点应用程序的入口点:
default:
is_secure: true
credentials: group1
但它不起作用我总是得到这样的信息:
哎呀! 您要求的页面是安全的,并且您没有正确的凭据。
我怎样才能做到这一点? 我做错了什么?
sfDoctrineGuard
将permissions
转换为凭据,因此您应该创建group1(或更有意义的内容)等权限,并将其分配给用户或组。 sfDoctrineGuard
将聚合组和用户权限。 这样,您可以在需要凭据的任何位置使用权限名称。 如果您想禁止登录特定权限,则应覆盖sfGuardValidatorUser
或sfGuardSecurityUser::signIn
并使用$user->hasPermission('group1')
检查用户是否具有所需权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.