我有JSP调用我的Session Bean,我已经通过JNDI InitialContext()实现了这个。 Session Bean类具有@RolesAllowed注释,其中包含一个已定义的用户。我想限制可以调用此bean方法的用户。
Application Sever通过联结连接到TAM / WebSEAL。所以我可以看到经过身份验证的用户已经定义了“iv-user”,“iv-groups”,“iv-creds”http请求标头值,未经身份验证 - 请勿这样做。但后来我尝试调用任何bean方法,我有一个安全异常,就像尝试访问未经身份验证的用户一样。此外,我在request.getUserPrincipal()
的响应时看不到userPrincipal如何将安全上下文从WebSEAL / Tivoli Access Manager传递到EJB并将其用于JAAS注释?
答案 0 :(得分:0)
我找到了一个解决方案:
1.切换WebSphere以使用独立LDAP注册表,将链接设置为可信(实际上没有必要)
2.在WAS和WebSEAL之间设置LTPA身份验证
在这些JSP之后应该获得安全上下文并传递给被调用的方法
3.在目标Web应用程序中定义安全性约束。