我正在爲我的最後一年項目創建一個求職門戶網站。在求職者申請特定職位時,如果他點擊「應用」按鈕,則需要進行會話檢查用戶是否使用系統登錄。如果他是登錄用戶可以繼續申請並上傳一個簡歷。否則他應該註冊一個系統,點擊應用頁面時應該重定向到註冊頁面。那麼我怎樣才能用symfony做到這一點? 是否有可能做到這一點會話部分中「應用」按鈕..即時通訊不是很熟悉symfony的..請幫助我如何檢查用戶是否登錄或不在Symfony中?
回答
你必須在sfBasicSecurityUser一個函數,它告訴你if the user is connected:
// in template
$sf_user->isAuthenticated();
// in action
$this->getUser()->isAuthenticated();
而且之前將用戶重定向到登錄系統,可以存儲引薦using ->getReferer():
$request->getReferer();
如果可以的話,使用sfGuardDoctrinePlugin來處理你的用戶管理(用戶,組,權限,登錄,註冊等。)
編輯:
所以,你的登錄操作中,您可以添加類似的東西:
// store the referer url in the session for a future use, if it's doesn't already exists
if($this->getUser()->getAttribute('referer_url', null, 'login'))
{
$this->getUser()->setAttribute('referer_url', $request->getReferer(), 'login');
}
在您登入動作:
// retrieve the referer in session, otherwise the one in request, otherwise redirect to homepage
$signinUrl = $this->getUser()->getAttribute('referer_url', $request->getReferer(), 'login');
$this->getUser()->getAttributeHolder()->remove('referer_url');
return $this->redirect('' != $signinUrl ? $signinUrl : '@homepage');
編輯2:
如果你想有一個自定義的重定向,重定向到登錄頁面之前將其設置:
$this->getUser()->setAttribute('referer_url', 'my/custom/url', 'login');
是的,將你的行爲'applyVacancy'定義爲[secure](http://www.symfony-project.org/reference/1_4/en/08-Security),然後你的用戶將被重定向到登錄頁面,如果他不是($ request-> isMethod('post')){ $ this-> form-> bind($ request-> getParameter('vacancy'),$ request)在我的applyVacancy操作類中輸入 – j0k
。 - >的GetFiles( '空位')); if($ this-> form-> isValid()){ $ file = $ this-> form-> getValue('file'); $ filename = sha1($ file-> getOriginalName())。$ file-> getExtension($ file-> getOriginalExtension()); $ file-> save(sfConfig :: get('sf_upload_dir')。'/'。$ filename); $ this-> redirect('vacancy/listAllVacancy');那麼在執行那部分之前,我需要把重定向部分放在正確的位置?因爲從上面的代碼我用於上傳一個簡歷。 – shumz
如果你手動存儲這樣的用戶會話:
// in action<br>
$this->getUser()->setAttribute('user', $user);
您可以檢查該用戶一樣, :
// in action
$this->getUser()->getAttribute('user');
,那麼你可以檢查現有用戶對象的...
- 1. 如何檢查用戶是否登錄或不在Java EE中
- 2. 如何檢查用戶是否在Android登錄或登錄登錄
- 3. 如何檢查用戶是否「登錄」?
- 4. 如何讓用戶登錄或檢查用戶是否登錄或不在Shopify中?
- 5. 在主題中,如何檢查用戶是否已登錄或是否爲「admin」?
- 6. 檢查是否有用戶登錄或不在MVC
- 7. 如何檢查管理員或用戶是否登錄odoo
- 8. 如何檢查用戶是否在iOS中使用FBSDKLoginKit登錄?
- 9. 如何檢查我是否登錄?
- 10. Android:如何檢查用戶是否在Facebook登錄或不在Facebook
- 11. 我如何檢查用戶是否以$ routeChangeStart登錄angularjs
- 12. 如何檢查登錄用戶是否在DNN中超時
- 13. 如何檢查用戶是否在moodle中登錄?
- 14. Worklight - jquery mobile |如何檢查用戶是否在pagebeforeshow中登錄?
- 15. 如何檢查用戶是否在php中登錄。初學者
- 16. 檢查用戶是否已登錄
- 17. 檢查用戶是否登錄
- 18. 檢查用戶是否登錄Flattr?
- 19. Laravel 5檢查用戶是否登錄
- 20. 檢查用戶是否已登錄?
- 21. 檢查用戶是否登錄
- 22. AngularFire routeProvider檢查用戶是否登錄
- 23. PHP - 檢查用戶是否登錄
- 24. 檢查用戶是否登錄
- 25. Active Directory檢查用戶是否登錄
- 26. C# - 檢查用戶是否登錄Facebook
- 27. 檢查用戶是否登錄了twitter
- 28. android檢查用戶是否已登錄
- 29. 檢查用戶是否登錄laravel 4
- 30. 檢查用戶是否登錄
哪個版本? – j0k
即時通訊使用symfony 1.4版本 – shumz