【发布时间】:2016-09-23 16:05:30
【问题描述】:
用户成功登录后如何关闭会话?
当用户成功登录时,他正在执行他的操作,但在后端管理员停用了用户。那时关闭用户会话并重定向到登录页面。
这在 Rails 设计中可能吗?
【问题讨论】:
标签: ruby-on-rails devise
用户成功登录后如何关闭会话?
当用户成功登录时,他正在执行他的操作,但在后端管理员停用了用户。那时关闭用户会话并重定向到登录页面。
这在 Rails 设计中可能吗?
【问题讨论】:
标签: ruby-on-rails devise
您需要在应用程序控制器上设置 before_action,例如:
before_action :check_inactive_user, if: :current_user
def check_inactive_user
if current_user.inactive?
current_user.sign_out
redirect_to root_path, flash: {notice: 'Your user is inactive'}
end
end
【讨论】:
current_user 使用会话,因此您可以在任何控制器操作中执行 reset_session 以将它们带回登录屏幕。
【讨论】: