java 网络应用程序中的 SSO(单点登录)

SSO(Single Sign On) in java web applications

我有多个 java Web 应用程序,它们都具有登录功能。我想通过任何方法对它们应用 SSO(单点登录)。 我花了最后 2 天时间寻找解决方案,但没有结果。 请任何人都可以帮助我。 我的要求是: 1.If 用户登录到单个应用程序,他将自动登录到其他应用程序。 对不起我的英语,提前致谢。

如果应用程序在 Windows 内联网中并使用 windows 登录,Waffle 将完成这项工作。否则开发您自己的简单票证授予服务以在您的应用程序之间提供 SSO。

更新:

您的所有应用都必须有过滤器。过滤器发送 session/cookie 数据(如果可用)以验证您的 SSO 服务是否已授予具有原则的传入请求。如果会话或 cookie 未与票证相关联,则您将重定向到登录页面。如果请求即将登录,则过滤器将它们发送到 SSO 服务,使用您的数据库验证用户和密码,并向 SSO MAP 添加一个条目,如 "this user just logged in"。因此它将发送该登录的票证。 Ticket 只是一个随机生成的 ID。如果 SSO 服务无法验证用户,则 SSO MAP 中将没有条目,并将向您的过滤器发送失败错误。 因此,您的用户验证进入了一个单独的服务,我刚刚将其命名为 SSO 服务。 您必须从 SSO MAP 中删除空闲条目。

了解 SSO 的工作原理,您就会明白。