我有以下代码,我将用户的登录凭据及其权限(无论他是否是管理员)存储在本地存储中。
.success(function (user) {
localStorageService.set('localStorageUser', user.username);
localStorageService.set('localStorageUserRole', user.authorities[0].authority);
$rootScope.showMenu = true;
$rootScope.user = user.username;
if(localStorageService.get('localStorageUserRole') === 'ROLE_ADMIN'){
$rootScope.isAdmin = true;
}
else {
$rootScope.isAdmin = false;
}
d.resolve();
})
我想知道如何在cookie中存储用户登录会话ID,并在AngularJS中设置cookie的到期日期。
答案 0 :(得分:6)
AngularJS已经提供了一个使用cookie的包装器。
您可以访问此页面以了解如何将ngCookies插件添加到您的项目中:https://docs.angularjs.org/api/ngCookies
首先在HTML中包含angular-cookies.js:
你可以 从以下位置下载此文件:
Google CDN,例如
// ajax.googleapis.com/ajax/libs/angularjs/X.Y.Z/angular-cookies.js
然后通过将模块添加为依赖项来加载应用程序中的模块 模块:
angular.module('app',['ngCookies']);
随着你准备好了 开始!
使用$ cookie非常简单:
$cookies.put('user', user.username);
var username = $cookies.get('user');
//You can set the expired time with the third params
var today = new Date();
var expired = new Date(today);
expired.setDate(today.getDate() + 1); //Set expired date to tomorrow
$cookies.put('user', user.username, {expires : expired });
有关$ cookies的更多信息:https://docs.angularjs.org/api/ngCookies/service/$cookies