我正在开发一个Symfony1应用程序,并且我正在使用sfDoctrineGuard插件,所有配置都正常工作!但是我遇到了问题,我创建了3个用户:
username group_name
administrador super_administrator
user1 group1
user2 -
我还有两个应用网站和管理员。用户管理员可以登录并访问管理员方面的所有内容,其他用户如user1和user2则无法访问。 user1和属于group1的每个用户都可以在站点前端登录,user2和没有分配group1的用户可以登录。我尝试以这种方式保护模块仪表板,这是站点应用程序的入口点:
default:
is_secure: true
credentials: group1
但它无法正常工作我总是得到这样的信息:
糟糕!您要求的页面是安全的,并且您没有正确的凭据。
我该怎么做?我做错了什么?
答案 0 :(得分:2)
sfDoctrineGuard
将permissions
转换为凭据,因此您应该创建group1(或更有意义的内容)等权限,并将其分配给用户或组。 sfDoctrineGuard
将聚合组和用户权限。这样,您可以在需要凭据的任何位置使用权限名称。如果您要禁止登录以获取特定权限,则应覆盖sfGuardValidatorUser
或sfGuardSecurityUser::signIn
并使用$user->hasPermission('group1')
检查用户是否具有所需权限。