Java 使用Siteminder WebAgent SSO验证用户

Java 使用Siteminder WebAgent SSO验证用户,java,single-sign-on,siteminder,Java,Single Sign On,Siteminder,我想在一个应用程序中实现SSO,因为我在提供登录的应用程序中有一个SiteMinder策略服务器(比如应用程序1),并且在将通过SSO登录的其他应用程序(比如应用程序2)的服务器上安装了SiteMinder webagent。siteminder这件事已经由其他团队完成了。现在我想要获得siteminder会话,从该会话中我想要HTTP_SM_用户这一切都是在WebAgent的帮助下完成的。获得用户后,我想根据第二个应用程序的DB验证用户。有谁能指导我如何继续这项工作吗?SM代理通常会在传入的请

我想在一个应用程序中实现SSO,因为我在提供登录的应用程序中有一个SiteMinder策略服务器(比如应用程序1),并且在将通过SSO登录的其他应用程序(比如应用程序2)的服务器上安装了SiteMinder webagent。siteminder这件事已经由其他团队完成了。现在我想要获得siteminder会话,从该会话中我想要HTTP_SM_用户这一切都是在WebAgent的帮助下完成的。获得用户后,我想根据第二个应用程序的DB验证用户。有谁能指导我如何继续这项工作吗?

SM代理通常会在传入的请求中添加一个带有用户ID的HTTP头。您可以在代码中检查此标头以确定用户。请注意,此标头并非来自浏览器,SM代理会在将请求传递给应用程序之前插入它

谢谢你,奥列格。您的意思是说我必须编写一个JSP代码,它将在安装了web代理的Serevr上运行,在该代码中,我必须检查用户信息的标题,然后验证用户..我不熟悉JSP,但您的理解是正确的。您需要在web服务器上实现一些逻辑来检查SiteMinder代理设置的传入HTTP头。设置代理的团队应该告诉您确切的头名称,因为它是在agent上配置的。JSP只是一个在PHP或ASP等服务器上运行的java代码。感谢您的支持,我将实现代码并尝试…..一个经常被忽略的点:您需要检查会话中的每个请求的用户id是否为空(用户的首次访问),或者SM头中的用户id是否与会话中的用户id相同。