Java 如何将WebSEAL安全上下文从JSP/Servlet传递到EJB

Java 如何将WebSEAL安全上下文从JSP/Servlet传递到EJB,java,websphere,jaas,tivoli,webseal,Java,Websphere,Jaas,Tivoli,Webseal,我使用JSP调用我的会话Bean,我已经通过JNDI InitialContext()实现了这一点。会话Bean类有一个@RolesAllowed注释,其中有一个已定义的用户。我想限制可以调用这个bean的方法的用户 应用服务器通过连接连接到TAM/WebSEAL。所以我可以看到,经过身份验证的用户已经定义了“iv user”、“iv组”、“iv creds”http请求头值,未经身份验证-不要。但当我试图调用任何一个bean方法时,我遇到了一个安全异常,比如试图以未经身份验证的用户身份访问。此

我使用JSP调用我的会话Bean,我已经通过JNDI InitialContext()实现了这一点。会话Bean类有一个@RolesAllowed注释,其中有一个已定义的用户。我想限制可以调用这个bean的方法的用户

应用服务器通过连接连接到TAM/WebSEAL。所以我可以看到,经过身份验证的用户已经定义了“iv user”、“iv组”、“iv creds”http请求头值,未经身份验证-不要。但当我试图调用任何一个bean方法时,我遇到了一个安全异常,比如试图以未经身份验证的用户身份访问。此外,在响应request.getUserPrincipal()时,我没有看到userPrincipal


如何将安全上下文从WebSEAL/Tivoli Access Manager传递到EJB,并将其用于JAAS注释?

我找到了一个解决方案:
1.切换WebSphere以使用独立LDAP注册表,将链接设置为受信任(实际上不需要)
2.在WAS和WebSEAL之间设置LTPA身份验证
之后,JSP应该获取安全上下文并传递给被调用的方法。
3.在目标web应用程序内定义安全约束