我正在使用寧靜身份驗證插件來爲我正在構建的應用程序對用戶進行身份驗證。正如在用戶訪問主頁時的大多數優秀網站中,我想展示一個樣板歡迎頁面並且可以選擇登錄或註冊。但是,當用戶登錄時,我希望網站的根網址(即sitename.com)顯示用戶儀表板而不是標準問候頁。我假設這只是使用佈局文件和檢查用戶是否登錄?但它的邏輯似乎在困擾着我。提前謝謝了。根據Rails中的登錄狀態顯示不同的主頁
1
A
回答
2
我會這樣做:你會有你的main
控制器,其中未登錄的用戶可以訪問,然後第二個控制器(我們稱之爲admin/main
),這是登錄用戶的主頁面。
在main
控制器的index
動作(假設你只是想重定向index操作;否則,你可以使用一個before_filter
):
class MainController < ApplicationController
def index
redirect_to :controller => 'admin/main', :action => 'index' and return if logged_in?
end
end
這樣一來,如果登錄用戶試圖訪問應用程序的根URL,它們將被自動重定向到網站的登錄區域(但URL不會更改)。
0
您可以檢查用戶是否在登錄操作時已經登錄,是否重定向到儀表板操作。如果他們不是那麼你可以繼續登錄正常。例如。在你的會話控制器
def new
if logged_in?
redirect_to :controller => 'dashboard', :action => 'index'
end
end
你也可以做一個的before_filter避免「污染」你的登錄操作。例如。
before_filter :logged_in_users_go_to_dashboard, :only => [:create, :new]
def logged_in_users_go_to_dashboard
redirect_to(:controller => 'dashboard', :action => 'index') if logged_in?
end
相關問題
- 1. 根據登錄狀態顯示不同的數據 - 客戶端
- 2. 根據登錄狀態顯示不同的iphone視圖
- 3. ASP.Net主頁登錄後的側欄顯示(保持顯示在登錄狀態)
- 4. 根據MediaWiki中的主機名顯示不同的主頁
- 5. 如何根據登錄用戶的狀態顯示視圖?
- 6. 登錄狀態並未顯示登錄
- 7. Twitter如何根據登錄信息獲取兩個不同的主頁? - Rails 3.1
- 8. IBM Connections 4.5主頁 - 根據登錄用戶顯示/隱藏iWidget
- 9. 根據登錄人的身份顯示不同的鏈接
- 10. 根據Phonegap android應用程序的需求顯示不同的登錄頁面?
- 11. 根據鏈接狀態顯示不同的圖像
- 12. 根據狀態顯示不同的組件?
- 13. Android根據狀態顯示不同的視圖
- 14. 根據登錄狀態更新DIV?
- 15. ruby on rails顯示頁面,員工顯示與登錄員工狀態相同的客戶
- 16. 如何讓CakePHP根據身份驗證/登錄狀態返回不同的主頁?
- 17. 根據用戶角色顯示不同的主頁
- 18. 根據登錄狀態使用相同網址的兩個頁面
- 19. 子域根目錄在Rails中顯示主頁
- 20. 登錄時不顯示登錄頁面
- 21. Rails 3不寫500狀態登錄
- 22. 根據父ViewGroup的狀態更改視圖的顯示狀態
- 23. 流星/反應:根據登錄狀態改變狀態
- 24. 在Rails中登錄時顯示不同的文本
- 25. 根據Android中的Facebook連接狀態顯示不同的佈局
- 26. 根據用戶的角色和狀態在laravel中登錄
- 27. MVC4在首頁登錄時顯示模型狀態錯誤信息登錄
- 28. 反應 - 根據狀態在輸入框中顯示不同的值
- 29. 根據OpenERP 7中的記錄狀態顯示動態看板顏色
- 30. 如何爲註銷登錄的用戶顯示不同的WordPress主頁?