【发布时间】:2017-11-17 09:31:01
【问题描述】:
当用户会话超时时,Liferay 是否会生成一些事件或动作。我想在会话超时后立即执行一些操作(刷新页面)(不想自动更新会话,我知道这一点)。 问题是我们已经删除了会话超时的警告。所以用户实际上并不知道他的会话超时。因此,如果他执行某些操作(更改他的个人资料图像),那么;他对访客用户进行了更改(它会在会话超时时更改访客用户的图像)。
【问题讨论】:
标签: liferay-6.2
当用户会话超时时,Liferay 是否会生成一些事件或动作。我想在会话超时后立即执行一些操作(刷新页面)(不想自动更新会话,我知道这一点)。 问题是我们已经删除了会话超时的警告。所以用户实际上并不知道他的会话超时。因此,如果他执行某些操作(更改他的个人资料图像),那么;他对访客用户进行了更改(它会在会话超时时更改访客用户的图像)。
【问题讨论】:
标签: liferay-6.2
如果您允许来宾用户更改您系统上的数据,那么您的底层架构就有问题,应该实施适当的权限检查。我假设您不是在谈论 Liferay 的默认 UI,它应该已经进行了适当的检查。
就我而言,这为您带来了 99.99% 的希望:在会话超时时执行页面更改对用户不友好 - 因为他们可能只是在编辑数据的过程中,当他们在提交之前被引导离开那张填了一半的表格时。
从用户体验的角度来看,您可能希望重新激活会话超时。
您面临的下一个问题是浏览器和服务器都在会话倒计时,并且不能保证它们完全同步。假设浏览器在服务器超时前 1 秒重定向到新页面:这将有效地延长会话(而任何用户输入都会丢失而不会发出警告)。这是双输。反过来,在浏览器的倒计时中添加一个安全分钟,您可能会遇到相反的情况:用户希望仍然登录,提交。如果您仍然有您所写的相同错误实现,那么您将再次以访客用户身份更改数据。又是两败俱伤。
与重新激活倒计时进行比较,然后在收到警告后显式注销:用户会提前收到警告,可以延长会话,不会丢失数据,并且 - 如果他们不延长 - 服务器上的会话内存将被释放时间。双赢。
可能不是您所期望的答案,但恕我直言,这是解决此问题的唯一方法。
【讨论】: