假设有两个异构应用程序(Java和一个web应用程序)。用户可以立即登录到Java富客户端,从那里打开一个指向web应用程序(在浏览器中打开)的链接,并自动进行身份验证,而无需再次输入他的用户名/密码。
第一个想法是使用Kerberos设置SSO服务器。但是,如何将kerberos票据传递给web应用程序呢?这有可能吗?还有其他方法来实现SSO吗?
更好的是,在登录到操作系统(Windows或Linux)并将登录信息传递给Java富客户端并从那里传递给web应用程序时,是否可以让用户在SSO服务器上注册?
发布于 2013-12-06 10:02:00
您的第一个想法很棒,您必须在服务器上安装Kerberos,如果您在linux上,则将Kerberos集成到PAM Auth或Open中。
它需要在Kerberos上创建领域,这是用户的领域。
稍后,当一切正常时,您将在您的操作系统上登录,成功登录后,您将在Kerber票证授予服务器中获得一张“票证”。
因此,现在有一个用户来登录os,他还没有票证,所以成功登录的答案来自操作系统的AUTH系统,票证被创建(最初的auth请求),用户被登录。
您在Applicationserver上的WebApp可能位于另一个领域,但如果这两个领域之间存在关系,则用户可以浏览到WebApp,并由Kerberos自动登录,因为他目前已登录并在TGS中有一张票证。
很好,只登录一次并使用周围的所有应用程序。
https://stackoverflow.com/questions/20420218
复制相似问题