Login 基于用户组Symfony 1.4.20和sfDoctrineGuard登录

Login 基于用户组Symfony 1.4.20和sfDoctrineGuard登录,login,symfony1,symfony-1.4,sfguard,Login,Symfony1,Symfony 1.4,Sfguard,我正在开发一个Symfony1应用程序,我正在使用sfDoctrineGuard插件,所有配置和工作都很好!但我有一个问题,我创建了3个用户: username group_name administrador super_administrator user1 group1 user2 - 我也有两个应用程序的网站和管理员。用户管理员可以登录并访问管理员端的所有内容,而其他用户(如use

我正在开发一个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
权限
转换为凭据,因此您应该创建像group1这样的权限(或更有意义的权限),并将其分配给用户或组
sfDoctrineGuard
将聚合组和用户权限。这样,您可以在需要凭据的任何地方使用权限名称。如果你想禁止特定权限的登录,你应该覆盖
sfGuardValidatorUser
sfGuardSecurityUser::登录
,并使用
$user->hasPermission('group1')
检查用户是否具有所需权限。

Hi@1ed,我已经尝试创建了一个名为“acceso\u publico”的权限然后在apps/site/config/security.yml中编写以下代码
default:is_secure:true credentials:[acceso_publico]
当然,我将这些权限分配给了一个组,也分配给了一个用户(以防万一),但不起作用,得到相同的消息>Oops!您请求的页面是安全的,您没有正确的凭据。>>请在下面登录以获取访问权限我做错了什么?@ReynierPM凭据缓存在会话中,因此您必须注销和/或删除会话cookie才能使更改生效。请检查
myUser
类是否扩展了
sfGuardSecurityUser
。谢谢,它现在可以工作了。还有一个问题我创建了两个用户,第一个是“group1”,第二个是“One to none”,我保护应用程序“site”并将凭据设置为“group1”。第二个用户可以登录站点吗?是的,他可以登录,但会被要求使用其他帐户再次登录,因为他没有所需的凭据。这就是“哎呀!你要求的页面是安全的,你没有合适的…”页面的内容。如果你想拒绝登录,你必须修改我写的验证器。(如果需要,请随时在另一个问题上寻求帮助。)这就是为什么我在尝试与没有凭据的用户登录时会一次又一次地获得登录表单,并且出于这个原因,我的难题是我不能与任何其他用户登录,对吗?我必须如何向验证器请求此更改?我脑子里没有这个问题