【发布时间】:2017-03-17 07:28:21
【问题描述】:
我有一个应用程序,前端使用 javascript(使用 AngularJS 和 jQuery),后端使用 java。该应用有很多页面 (ng-view)。
我需要知道后端的会话当前是活动的还是无效的。基于此,我需要决定是否在页面上显示注销按钮。
虽然我从this 和this 了解到会话是使用session cookies 在浏览器中维护的,但我得出结论,我们必须手动设置我们在javascript 中创建的cookie 对象中的变量值。
有没有办法获取用于与服务器通信的会话 cookie?通过获取该 cookie,我们或许可以看到会话当前是否处于活动状态。
如果我的解释有误,请告诉我。
【问题讨论】:
-
这不是要走的路。您将无权访问服务器关于会话存在的记录。任何人都可以创建一个带有会话 ID 的本地 cookie。
-
为什么不根据是否有会话有条件地输出视图页面? cookie 不可靠,因为服务器可能有自己的会话超时。
-
@raduation 你的意思是说我应该先从服务器查询每个页面的会话是否存在,然后根据它决定显示注销按钮?
-
是的,您应该在服务器端检查是否有活动会话并执行 if 语句以显示或不显示注销按钮。
标签: javascript jquery angularjs session cookies