我使用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