Active Directory auth Tomcat - 在Action中读取用户名?

时间:2012-11-26 22:30:04

标签: java tomcat struts2 active-directory

我已经在Tomcat中为我的Struts 2 Web应用程序实现了Active Directory身份验证。我希望能够在应用程序中使用登录用户的用户名。如何在动作中阅读?

2 个答案:

答案 0 :(得分:1)

在Struts2中有org.apache.struts2.interceptor.PrincipalAware接口,可将org.apache.struts2.interceptor.PrincipalProxy设置为您的操作。在您的操作中实现它并使用此对象获取用户主体。

使用PrincipalAware接口是获取用户主体的首选方法。来自javadoc:

  

仅当在servlet环境中使用Action时,此接口才相关。     通过使用此接口,您将不会与servlet环境绑定。

答案 1 :(得分:0)

它是否未与Servlet上下文集成?你应该能够得到它:

ServletActionContext.getRequest().getUserPrincipal().getName();