我是新手并尝试存储Cookie和参数以使Cookie失效,域名,安全等。 我设置了一个存储cookie的工厂
app.factory('SetCookies',function($cookieStore,$timeout,$window){
var authService = {};
authService.create = function (username,email,id,sessionID) {
var expired = new Date();
expired.setTime(expired.getTime() + (10*1000));
$cookieStore.put('Name',username, {expires : expired, secure:true, domain:'http://localhost/test' });
$cookieStore.put('Email',email, {expires : expired, secure:true, domain:'http://localhost/test' });
$cookieStore.put('LogCode',id, {expires : expired, secure:true, domain:'http://localhost/test' });
$cookieStore.put('Token',sessionID, {expires : expired, secure:true, domain:'http://localhost/test' });
$cookieStore.put('isLoggedIn',true, {expires : expired, secure:true, domain:'http://localhost/test' });
};
return authService;
})
我已在我的登录控制器中调用此设置cookie
SetCookies.create(user.data.username, user.data.email, user.data.id, user.data.session_id);
登录后我已经检查了主控制器上的cookie超时
$timeout(function(){
if(!$cookieStore.get('isLoggedIn')){
$location.path('/');
}
},20);
但是当我在所有浏览器上检查它时,只有值。
结果如下面的截图 enter image description here
答案 0 :(得分:0)
不推荐使用Angularjs cookiestore。您应该使用$cookies代替。但我发现它可能会有点膨胀。在过去,我总是选择在使用Cookie时使用原生JavaScript。