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

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

如果我们实施一个无缝的SSO,那么我认为它可能会让用户感到困惑。

SSO会使Web应用程序立即可用。

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

有没有人有这样的经历以及如何处理它?我们是否只需要实现某种形式的额外消息传递来告诉用户他们之前的会话已经超时并且他们的工作已经丢失了?

有帮助吗?

解决方案

我认为如果用户的会话被重置,你肯定需要弹出某种警报框。让他们在邮件上单击“确定”并将其重定向到主页。

另外,我认为如果你按照我认为的方式进行2小时超时听起来是个坏主意。您的意思是用户在会话超时之前有2个小时的登录时间吗?如果用户在该会话中发送新请求,那么拥有10分钟超时但计时器重置是不是更有意义。

其他提示

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

在我们使用此功能的网站上,大约10分钟后,网页会返回到登录页面(使用的是JS),用户可以根据需要重新启动。

如果他们忙于查看结果或其他内容的漫长过程,请检查鼠标移动或某些sublte键,表明他们仍在忙碌。

老问题,但万一有人碰到它:

尝试在服务器会话中不存储任何状态。客户,很好;后端服务器持久性(像数据库),很好。两者之间什么都不会丢失。当用户无缝重新验证时,他们不会注意到该开关。超时持续时间变得无关紧要。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top