0
A
回答
0
當用戶嘗試登錄時,您可以驗證他沒有以另一個角色登錄。 要做到這一點,你將不得不重寫設計SessionsController。它被解釋爲here for RegistrationsController,但SessionsController也可以做到這一點。 接下來過濾器之前添加到您的新SessionsController:
before_filter :require_not_authenticated_in_other_scopes, :only => [:new, :create]
然後只實現在控制器中的過濾器:
def require_not_authenticated_in_other_scopes
other_types = [:user, :admin, :manager] - [resource_name]
other_types.each do |type|
if self.send("#{type}_signed_in?")
resource = warden.user(type)
redirect_to after_sign_in_path_for(resource)
end
end
end
我已經採取了實現的部件從設計的SessionsController本身你可以找到它在他們的GitHub repository。
相關問題
- 1. CodeIgniter會話類,並禁止從2個不同的地方同時登錄到同一個帳戶
- 2. 軌道設計爲不同的角色
- 3. 設計 - 如果同一用戶從不同的瀏覽器/計算機登錄,則會失效用戶會話
- 4. 同一會話,不同的域,設置會話ID
- 5. 設計角色:不同的角色,在某些情況下相同的權利
- 6. 禁止同時登錄從Flask登錄的多個不同地方登錄
- 7. 來自同一IP的不同會話ID在同一時間
- 8. 如何從不同的地方訪問同一個會話?
- 9. 如何設置每個角色的最大同時用戶會話數
- 10. 如何防止同一用戶在不同的電腦上同時登錄
- 11. 停止多個會話同時訪問同一個文件
- 12. 重定向到不同的URL爲不同的角色登錄
- 13. 如何禁止同時從多個位置登錄用戶?
- 14. 在同一記錄上同時更新
- 15. 不同記錄與另一個不同領域的不同記錄
- 16. 登錄 - 不同的用戶角色
- 17. 針對不同登錄角色的不同頁面
- 18. JavaEE:登錄配置,針對不同角色的不同表格
- 19. 爲來自同一服務器的不同域設置會話?
- 20. 如何在同一個tensorflow會話中訓練不同的LSTM?
- 21. 如何維護同一頁面的不同會話?
- 22. 爲不同角色返回不同siteMapNodes
- 23. 用戶在不同組中的不同角色模式設置
- 24. 如何從基於一些條件,從同一個表中不同的記錄不同的領域在MySQL
- 25. FactoryGirl如何與不同的角色
- 26. 如何需要不同的角色
- 27. 阻止同時從兩個不同位置登錄的用戶
- 28. 如何在同一個標籤中設置不同的顏色?
- 29. 如何在sql中獲取同一行中的不同記錄?
- 30. Rails在同一時間設計令牌和cookie會話
你能詳細說一下你的意思嗎?設計將根據模型的名稱創建不同的會話變量。 – Ant
我不希望同一個人在同一瀏覽器窗口中以用戶和管理員身份登錄。 – Fuffinii