AngularJS:无法读取会话值

时间:2013-09-15 16:23:01

标签: session angularjs

  • 当用户登录时,会话由服务器设置

我想在我的angular前端检索此值,但它显示undefined

相关代码是

   $scope.logout = function () {
        console.log('session value', $cookieStore.get('session'));
    }

我的应用也配置为包含ngCookies

var app = angular.module('myApp', ['ngCookies']);

当我运行我的应用程序时,我看到了

session value undefined 

但是,我可以在Chrome Dev Tools

中查看会话

enter image description here

我错过了什么?

2 个答案:

答案 0 :(得分:26)

  

我错过了什么?

服务器将cookie设置为会话cookie(HttpOnly标志)。这意味着您无法在客户端上访问此cookie。客户端将在每次请求时将cookie发送到服务器,但客户端无法访问其值。这就是HttpOnly cookie的定义。如果您希望能够在客户端上访问此cookie值,则应修改服务器端脚本,以便在设置cookie时不会向其附加HttpOnly标志。显然,这会附带有关您可能在网站上打开的安全漏洞的相应免责声明,具体取决于此Cookie中存储的用途和特定值。

答案 1 :(得分:1)

更新

值得注意的是,$ cookieStore已被弃用,现在用于访问cookie的人应该使用ngCookies(参见ngCookies)。