在ember-simple-auth中关闭浏览器关闭会话?

时间:2015-01-07 11:11:54

标签: javascript ember.js ember-simple-auth

我是Ember.jsember-simple-auth的新手,所以我希望你能帮助我。

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

我试过这样的事情:

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。

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

感谢。

1 个答案:

答案 0 :(得分:3)

我不确定当用户离开应用程序时你将如何处理这种情况(你可以处理一些导航事件并使用this.get("session").invalidate();使会话无效)。要在用户关闭浏览器时使会话无效,最佳解决方案是使用cookie会话存储并配置null {{1}},以便cookie是会话cookie,当浏览器自动删除时已关闭。