【发布时间】:2015-12-17 16:03:48
【问题描述】:
我使用 ASP.NET Identity 进行单页应用程序身份验证,一切正常,但是当我刷新页面时,用户会自动退出。这个问题的解决方案是什么?能给我介绍一个完整的样本或文章吗?
【问题讨论】:
标签: asp.net-web-api2 asp.net-identity single-page-application
我使用 ASP.NET Identity 进行单页应用程序身份验证,一切正常,但是当我刷新页面时,用户会自动退出。这个问题的解决方案是什么?能给我介绍一个完整的样本或文章吗?
【问题讨论】:
标签: asp.net-web-api2 asp.net-identity single-page-application
经过一番挣扎,我终于找到了答案。我需要像这样将令牌存储到“sessionStorage”:
var sessionToken = 'token';
var sessionAuthenticated = 'auth';
var sessionUser = 'user';
var sessionIsARefresh = 'refresh';
window.onbeforeunload = function () {
sessionStorage.setItem(sessionAuthenticated, clientModel.authenticated());
sessionStorage.setItem(sessionUser, clientModel.username());
sessionStorage.setItem(sessionToken, adminModel.accessToken());
sessionStorage.setItem(sessionIsARefresh,true);
}
$(document).ready(function () {
if (sessionStorage.getItem(sessionIsARefresh)) {
adminModel.accessToken(sessionStorage.getItem(sessionToken));
clientModel.authenticated(sessionStorage.getItem(sessionAuthenticated));
clientModel.username(sessionStorage.getItem(sessionUser));
getUser(clientModel.username());
getNotificationTypes();
}
}
根据W3School,我发现 sessionStorage 比 cookie 更安全。
【讨论】: