【发布时间】:2015-08-26 09:35:32
【问题描述】:
我正在构建一个 java + angularjs 应用程序。我已经在客户端实现了会话超时,如果用户在 30 分钟内没有任何活动,它会向服务器发送一个过期会话令牌的请求。
是否应该在服务器端单独存在超时,即如果与服务器的连接在 5 小时或一天内没有关闭,则自动使服务器端的会话令牌过期并通过发送 401 将用户注销?
想到的另一种情况是,如果我将 API 与其他应用程序分开使用,我的 API 是否应该永远不会超时?或者它应该有一个会话持续时间,因为我在服务器端管理会话令牌。
【问题讨论】:
-
服务器端负责会话超时。否则恶意(或损坏)客户端可能会导致服务器出现问题(例如在服务器上创建 100000 个会话并且不超时)。
-
当然。服务器端超时应该比客户端超时更激进。服务器是消耗多个每个会话资源的服务器。客户端只有一个会话。
标签: java angularjs session-timeout