javascript - 在 ember-simple-auth 中使浏览器关闭时的 session 无效?

标签 javascript ember.js ember-simple-auth

我对 Ember.js 还很陌生和 ember-simple-auth , 所以我希望你能帮助我。

我在我的应用程序中使用 ember-simple-auth。我想要做的是在浏览器关闭或用户离开页面时使 session 无效。只有当用户之前登录时才会发生这种情况(这就是为什么将其放在身份验证操作中的原因)。

我试过这样的:

actions: {
    authenticate: function() {
        var _this = this;
        this._super().then(null, function(message) {
            _this.set('errorMessage', message);
        });

         $(window).on('beforeunload',function() {
            _this.get("session").invalidate();
        });
    }
}

问题是关闭浏览器时不起作用。此外,当我更改 URL(离开应用程序,例如 www.google.com)时,它会转换为“/”并且不会打开所需的 URL。

所以问题是:如何在浏览器关闭(或用户离开应用程序)时使 session 无效。

谢谢。

最佳答案

我不确定您将如何处理用户离开应用程序的情况(您可能可以处理一些导航事件并使用 this.get("session").invalidate(); 使 session 无效); )。但是,要在用户关闭浏览器时使 session 无效,最好的解决方案是使用 cookie session 存储并配置 sessionExpirationTime null 以便 cookie 是在浏览器关闭时自动删除的 session cookie。

关于javascript - 在 ember-simple-auth 中使浏览器关闭时的 session 无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27818159/

相关文章:

javascript - 在 JavaScript 中检查数字的小数点是否大于 .5?

javascript - react 和 getClientBoundingRect

jquery - 在 Ember 中渲染模板后执行脚本

javascript - 从 JavaScript 中的事件监听器调用访问对象的属性

javascript - node.js 和 HTML 页面?如何结合?

Ember.js:使用 {{action}} 时,如何定位特定 Controller ?

javascript - Ember.js/Ember 数据在创建数千个子记录后需要几分钟来更新 hasMany of parent

ember.js - Ember 简单例份验证如何在身份验证数据可用时进行更新

javascript - Ember 2.4 - 让当前用户使用服务并在登录后进行简单的身份验证

ember-simple-auth - Ember简单验证: How to set/send multiple request headers?