0

我正在开发一个 Symfony1 应用程序,我正在使用 sfDoctrineGuard 插件,一切都已配置好并且工作正常!但我有一个问题,我创建了 3 个用户:

username              group_name
administrador         super_administrator
user1                 group1
user2                 -

我还有两个应用程序站点和管理员。用户管理员可以登录和访问管理员端的所有内容,其他用户(如 user1 和 user2 不能)。user1 和属于 group1 的每个用户都可以在站点前端登录,user2 和未分配 group1 的用户不能。我尝试以这种方式保护作为站点应用程序入口点的模块仪表板:

default:
   is_secure: true
   credentials: group1

但它不起作用我总是收到这条消息:

哎呀!您要求的页面是安全的,并且您没有适当的凭据。

我怎样才能做到这一点?我做错了什么?

4

1 回答 1

2

sfDoctrineGuard转换permissions为凭据,因此您应该创建像 group1 (或更有意义的东西)这样的权限并将它们分配给用户或组。sfDoctrineGuard将聚合组和用户权限。这样,您可以在需要凭证的任何地方使用权限名称。如果您想禁止特定权限的登录,您应该覆盖sfGuardValidatorUsersfGuardSecurityUser::signIn使用$user->hasPermission('group1')来检查用户是否具有所需的权限。

于 2013-03-04T21:34:19.380 回答