2016-03-08 51 views
-1

我有一个注销功能,如何通过清除所有存储的变量来注销?

$scope.logout=function(){ 
    $state.go('app.login'); 
    } 

但我的要求是根本就没有去到登录页面,我想去除去我使用服务存储的所有变量和饼干到登录页面,我不想过去用户的任何实例,我应该怎么做? 我想成为一个刷新,但不要使用刷新。

+1

您正在使用哪种类型的身份验证?它是如何建立的? – JanR

+1

您的问题未提供足够的信息予以解答。请添加详细代码.... –

+0

根据您的查询与更新答案已经存在的问题“擦除”,但如何?您需要更新您用于存储Cookie的代码或插件,或者您可以在调用函数时找到清除cookie或清除本地存储或删除windows.localstorage的文档。通常,您需要找到一个命令来清除并执行它注销功能 – Prasad

回答

0

只需根据需要在.state路由中设置cache:false即可。

0

您可能想要考虑使用服务来处理您的身份验证。例如,创建一个名为AuthenticationService的服务,您可以在其上创建以下方法。

.service("AuthenticationService", ["$state", function ($state) { 
    this.clearSession = function(){ 
     // write your code to clear variables you mentioned in your question 
    } 

    this.doLogout = function($state){ 
     this.clearSession(); 
     $state.go('app.login'); 
    } 

    return { 
     clearSession: this.clearSession, 
     doLogout: this.doLogout 
    } 
}); 

然后,当你需要在你的应用程序注销,只需调用AuthenticationService.doLogout

编辑:不知道为什么这是downvoted,已经提供给用户一个基于他的质量差的问题的解决方案。

相关问题