我已经在Tomcat中为我的Struts 2 Web应用程序实现了Active Directory身份验证。我希望能够在应用程序中使用登录用户的用户名。如何在动作中阅读?
答案 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();