我有一個devise
authentication
已經安裝在我的application
。現在我想實施second level authentication
在rails
。我想要hard code
email
和password
編碼在controllers
。我想比較這email
和password
由user
提供的email
和password
。而不是在database
保存和採摘second level authentication
,因爲這些5至6 links
將要僅由一個person
在company
在任何時間點使用。我想在我的控制器應用程序中實現5至6個actions
。我怎麼能實現這個?我檢查了寶石'devise-authy',但它似乎發送password
到手機otp
身份驗證。我不想otp認證。我想用與設計電子郵件相同的電子郵件進行二級身份驗證,但密碼應該與設計原始密碼不同(例如,在設計表中,我想再取一列second_level_password。)有沒有這種需求的任何gem
或這是manually
編碼。如果是manually
編碼,那我該怎麼做?如何在rails中實現二級認證?
0
A
回答
0
您可以在rails控制器中使用before_action。
在控制器中添加以下代碼行。
before_action :second_level_access
private
def second_level_access
#You can use your logic to get password
unless current_user.second_level_password == params[:second_level_password]
# signout to user because user is already logged in with devise.
redirect_to session_path
end
end
編輯
您可以使用
attr_accessor_with_default:second_level_logged_in,假
添加以下行application controller
:
before_action :logged_in_with_second_level, if: 'current_user and !second_level_logged_in'
def logged_in_with_second_level
redirect_to 'second_level_logged_in_form_page'
end
在second_level_logged_in
附加代碼current_user.second_level_logged_in=true
相關問題
- 1. 如何在RESTful API中實現兩級認證?
- 2. 如何在二級上實現SplitViewController。
- 3. Rails - Devise的二次認證?
- 4. 如何使用Authlogic實現Rails應用程序的API認證
- 5. 如何在Rails中爲非註冊用戶實現延遲令牌認證?
- 6. 如何實現彈簧預認證
- 7. 如何實現REST API的認證?
- 8. 如何實現滑動到期認證
- 9. 如何實現gmail賬號認證
- 10. 如何實現的Python REST認證
- 11. 如何爲API實現社交認證?
- 12. 在servlet中實現HTTP基本認證
- 13. 如何在Rails中實現「頂級編寫者」表?
- 14. 如何在rails中實現確認或預覽?
- 15. 如何在jqgrid中實現行級別驗證
- 16. 如何在ZF2中實現自定義認證存儲類?
- 17. 如何在React Router 4中實現認證路由?
- 18. 如何在mvc.net中實現安全認證和角色機制?
- 19. 如何在phoenix中實現用戶認證
- 20. 如何在Django中實現用戶認證?
- 21. 如何在智能卡讀卡器中實現被動認證?
- 22. 你如何在Flask中實現令牌認證?
- 23. 如何在Openssl中實現客戶端的相互認證?
- 24. 如何在AngularJS中實現基於令牌的認證
- 25. 如何在mule軟項目中實現基本認證?
- 26. 如何實現在Rails的
- 27. 如何在matlab中實現二叉樹
- 28. 如何在Rails 3中實現min/max驗證器?
- 29. 如何在Rails中實現HATEOAS
- 30. 如何在Rails中實現行排序?
感謝您的回答
create action
。但如果用戶還沒有用second_level_password登錄,點擊這些鏈接,那麼我想提供與設計相同的second_level_authentication表單。如果他已經使用第二個密碼登錄,則不會有第二級表單。如果他從第二級註銷,我想只註銷第一級認證的第二級認證或會話應保持相同。我怎樣才能做到這一點? – John您可以使用attr_accessor_with_default:second_level_logged_in,假 添加下面一行到應用控制器: before_action:logged_in_with_second_level,如果: 'CURRENT_USER和second_level_logged_in!' 高清logged_in_with_second_level redirect_to的 'second_level_logged_in_form_page' 端 創建的second_level_logged_in 行動在我的答案分配current_user.second_level_logged_in =真 –
@約翰, 我更新的代碼,請看看 –