SSO对会话超时的影响

我需要在Windows域和J2EE Web应用程序之间实现SSO。

我一直在想这会影响Web应用程序的会话超时。 我们有2小时的时间。

如果我们实现了一个不起眼的SSO,那么我认为这可能会让用户感到困惑。

SSO将显示Web应用程序立即可用。

我担心他们会开始填写表格,然后去吃午饭(或者什么),然后在他们的会话超时后回来。 但是,这可能不会立即显现出来,因为SSO会再次签署(但现在是新的会议)。

有没有人有这样的经验和如何处理? 我们是否需要实施某种forms的额外消息传递来告诉用户他们以前的会话已经超时并且他们的工作已经丢失?

我想你肯定需要弹出一个警告框,如果用户的会话重置。 让他们点击消息上的确定,并将其重定向到主页。

另外,我认为如果你按照自己的想法做了2个小时的超时,这听起来不是个好主意。 你的意思是说,用户在会话超时之前有2个小时的登录工作? 有没有像10分钟超时的东西更有意义,但当用户在该会话内发送新的请求时,定时器得到重置。

超时不是从登录测量的静态固定时间,而是不活动的动态测量。

在10分钟左右的时间里,我们用这个功能来建立网站,网页返回登录页面(使用JS),用户可以重新开始。

如果他们忙于一个漫长的过程,他们正在检查结果或其他东西,然后检查鼠标移动或像这样的一些sublte键,表明他们仍然很忙。

老问题,但万一有人穿过它:

尽量不要在服务器会话中存储任何状态。 客户,很好; 后端服务器持久性(如数据库),没问题。 这两者之间什么都不会丢失。 当用户无缝重新认证时,他们不会注意到交换机。 超时时间变得无关紧要。

这个答案在六年后现在更加可行,因为有几个前端的框架可以为你存储数据。 你仍然可以在服务器上使用Spring Security (比如说),因为身份验证仍然存在于新的会话中。 它应该在运行中重新生成安全信息(SecurityContext,UserDetails等)。 无论请求获取或发送数据都应该“正常工作”。