请考虑以下设置:

  • 部署在Websphere Application Server上的Web应用程序(如果需要的话,为6.1)
  • 该应用程序将通过Webseal反向代理
  • 进行访问
  • Webseal负责身份验证,并传递LTPA token 作为有效身份验证的标志

  • 如果我做对了,LTPA token 包含诸如用户名,角色等信息。

    问题:如何从Java Web应用程序中的LTPA token 访问此信息?

    最佳答案

    您没有直接访问LTPA token ,而是假设WebSphere已根据其身份验证过程为您建立了安全上下文。

    然后,您可以使用

    getUserPrincipal()
    

    在您的HttpServletRequest对象上访问用户的身份。

    角色特定于当前资源(serlvet,ejb ...),因此您使用HttpServletRequest方法
    isUserInRole()
    

    确定用户是否在角色中。

    您也可以使用方法
     public static javax.security.auth.Subject getCallerSubject()
    

    以获得包括组成员身份在内的更多安全信息。

    10-06 09:33