2011-05-26 55 views
1

我有一个简单的要求。我有一个Web应用程序,它具有登录页面,仪表板和其他几个页面。是可以在Java中单次登录的多个浏览器窗口

如果用户想从一台计算机在多个浏览器窗口中打开该应用程序,那么我希望用户在第一个浏览器窗口中仅登录一次。从下一次开始,每当用户在同一台​​计算机的另一个不同浏览器窗口(或选项卡)中点击应用程序URL时,应用程序就应该将用户重定向到仪表板,而无需重新登录。因此,每次他在另一个浏览器窗口中打开应用程序时,用户都不必登录。

在Java/J2EE中使用JSP和Struts可以实现这种完整的场景吗?这里我使用Struts中的容器管理登录进行身份验证(登录)。我需要为每个窗口维护不同的HTTP会话(这是应用程序的固有要求)。

Plz家伙,等待快速回复,因为我坚持这个来自我的客户的紧急要求。

在此先感谢。

Avijit

回答

1

在同一个浏览器(IE,火狐,Chrome等),这是很容易用(会话)饼干等

登录后,只要设置一个Cookie,随后的页面加载将读取实现从。

阅读本题,一些好的其他相关信息:

Managing webapp session data/controller flow for multiple tabs

由于@Edwin巴克已经提到,看看OpenID的(或类似的单点登录框架):

OpenID

你还要使用客户机的IP地址的选项,但是这是非常不可靠的。

+1

请注意,如果您不采取措施防止滥用,这可能会带来一些非常不利的后果。 Cookie通常是世界可读的,如果您不检查cookie是否存在,其他一些网站可以轻松查询您的cookies并将它们呈现给您的网站,以便作为原始客户有效登录。 – 2011-05-26 15:38:49

+0

@Edwin。非常好的一点,我相信他会在他的申请所要求的级别上适当地解决安全问题。 – Mikaveli 2011-05-26 15:41:10

0

看看单一登录体系结构或其他解决方案(如OpenId),它们在没有最终用户交互的情况下进行身份验证。

相关问题