我们有一个托管在tomcat服务器上的自定义web应用程序,并且希望在登录到tomcat应用程序时获得一个LTPA2Token。这两个应用服务器上的所有应用程序都在使用tomcat服务器上相同的LDAP.The应用程序,因此不能在(WAS)上托管。
其想法如下:
1.在tomcat web应用程序上通过web浏览器输入用户名和密码。2使用凭据3生成自定义令牌。
问题是,在成功登录之后,我们是否可以从TAI获得一个LTPA2Token,并将其发送回tomcat应用程序,以便在浏览器中设置LTPA2Token?
谢谢并向本杰明问好
发布于 2014-08-14 19:39:00
这可能有效,但这两台服务器都应该位于相同的sso domain上,例如tomcat.company.com和websphere.company.com。在WebSphere中,Security > Global security > Single sign-on (SSO)中的管理控制台在Domain name中指定,例如.company.com。您可以在其中定义几个域,但如果只有一个域,则更容易调试。
最简单的方法是用一个jsp创建虚拟web应用程序,将重定向发送到你的tomcat应用程序。使用JEE安全保护该应用程序,并创建TAI来拦截对此应用程序的调用,并使用以下方法创建基于传递的带有用户id的令牌的TAIResult:
public static TAIResult create(int status, String principal);这将在WAS注册表中找到一个主要用户,对其进行身份验证并创建LTPA令牌。然后会传递给您的页面,然后页面将重定向到tomcat,在浏览器中设置cookie。
也许在TAI中就可以这样做了,但是我从来没有尝试过这个解决方案(而且使用自定义应用程序的解决方案也会起作用)。
但是,您必须创建良好的自定义令牌,否则其他人可能会使用您的TAI作为其他人进行身份验证。
PS。
为什么你的tomcat应用程序不能在WAS上部署?也许解决这个问题要比创建这个TAI解决方案容易吗?
https://stackoverflow.com/questions/25307297
复制相似问题