【发布时间】:2015-12-05 22:09:26
【问题描述】:
我正在使用导轨和设计。我希望用户在浏览器关闭时自动并立即注销。我理解它的方式,在rails中,会话方法生成的cookie应该在浏览器关闭时立即过期。如果有的话,我根本找不到设计在哪里进行会话。我看到有一个可超时的选项,但我不希望那样。如果没有选中记住我,我希望用户在浏览器关闭时必须再次登录。
如何获得此功能?
【问题讨论】:
标签: ruby-on-rails devise
我正在使用导轨和设计。我希望用户在浏览器关闭时自动并立即注销。我理解它的方式,在rails中,会话方法生成的cookie应该在浏览器关闭时立即过期。如果有的话,我根本找不到设计在哪里进行会话。我看到有一个可超时的选项,但我不希望那样。如果没有选中记住我,我希望用户在浏览器关闭时必须再次登录。
如何获得此功能?
【问题讨论】:
标签: ruby-on-rails devise
执行this 之类的操作并在浏览器关闭之前删除 cookie:
<% if current_user.present? && !current_user.remember_me %>
<script>
window.onbeforeunload = closingCode;
function closingCode(){
document.cookie = '_' + rails_app_name_here + '_session' +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
return null;
}
</script>
<% end %>
如果你愿意,你可以把它放在你的应用程序布局中,放在结束体之前。
如果你做不到这一点,你可能是 SOL。
【讨论】: