我的devise
已经设置了authentication
application
。现在我想在second level authentication
中实施rails
。我希望在hard code
中编码email
password
和controllers
email
。我想将此password
和email
与password
提供的user
和database
进行比较。而不是保存second level authentication
并选择links
。,因为这些5到6 person
仅由company
中的一个actions
使用任何时间点。我想在我的控制器应用程序中为5到6 password
实现这个。我怎么能实现这个?我查了一个宝石宝石' devise-authy'但它似乎向移动设备发送了otp
gem
身份验证。我不想要otp身份验证。我希望使用与设计电子邮件相同的电子邮件进行二级身份验证,但密码应该与设计原始密码不同。(例如在设计表中我想再增加一列second_level_password。)是否有任何manually
为此需求类型或manually
编码。如果它是{{1}}编码的那么我该怎么做?
答案 0 :(得分: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,false
将以下行添加到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
<{1}} create action
中的
添加代码second_level_logged_in