我使用symfony sfDoctrineGuardPlugin来管理前端用户和后端用户的身份验证。这很好,除了我不希望前端用户能够登录到后端应用程序。我可以设置凭据,但用户获得身份验证后会检查凭据。我想要的是让sigin以表单形式永远不会验证用户,即不在后端组中。我怎样才能做到这一点?Symfony sfDoctrineGuardPlugin自定义登录查询
3
A
回答
2
我想我找到了一个更好的解决方案。 sfDoctrineGuard插件具有自己的发布验证器,用于为用户检索检查可选的可调用函数。
//app.yml
all:
sf_guard_plugin:
retrieve_by_username_callable: sfGuardUser::getForBackend
//sfGuardUser.class.php
public static function getForBackend($username)
{
$query = Doctrine::getTable('sfGuardUser')->createQuery('u')
->leftJoin('u.Groups g')
->leftJoin('g.Permissions p')
->where('u.username = ? OR u.email_address = ?', array($username, $username))
->addWhere('u.is_active = ?', true)
->addWhere('p.name = ?', 'backend');
return $query->fetchOne();
}
0
以下是一个想法:您可以尝试为登录表单创建自定义后验证器。这里有一个谷歌的结果:
在此验证,您可以检查用户是否属于有问题的组,然后相应地抛出一个错误。用户不会被认证。
0
我想你只需要添加:
storage:
class: sfSessionStorage
param:
session_name: sf_backend
在您backend/config/factories.yml
结束默认情况下,symfony的股份会话cookie,这个解决方案,symfony的分开这个饼干。
相关问题
- 1. 模拟登录/登录使用Symfony/sfDoctrineGuardPlugin
- 2. symfony fosuserbundle自定义登录
- 3. Symfony:测试自定义用户登录
- 4. 在Symfony插件中使用自定义表名sfDoctrineGuardPlugin?
- 5. Symfony访问自定义推进查询
- 6. 用propel自定义查询symfony 2
- 7. symfony - 日志自定义推进查询
- 8. 的symfony - sfDoctrineGuardPlugin - 创建
- 9. Symfony 2 FOSFacebookBundle在登录前自定义重定向
- 10. 自定义sfGuard登录重定向不工作在symfony
- 11. 自定义重定向后登录表单在symfony的3
- 12. 自定义Facebook登录查看Swift
- 13. 自定义登录检查(Grails Spring Security)
- 14. 自定义登录服务或数据库查询?
- 15. 自定义查询symfony2
- 16. laravel 5.2自定义登录
- 17. 自定义登录Simperium IOS
- 18. django tastypie自定义登录
- 19. 在Django自定义登录
- 20. Liferay自定义登录Portlet
- 21. 自定义Silverstripe登录表
- 22. 自定义登录cakephp3
- 23. ASP.NET自定义登录
- 24. 自定义登录ASP.NET C#
- 25. Silverlight 4自定义登录
- 26. 自定义登录页面
- 27. 自定义Openam登录
- 28. 自定义登录Django
- 29. 自定义登录框架
- 30. 自定义登录屏幕
嗨@Dziamid,我试图做同样的,但是,我应该在哪里把这个功能? – 2011-04-04 15:18:02