0

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

4

2 回答 2

1

在 Struts2 中,有一个org.apache.struts2.interceptor.PrincipalAware界面可以设置org.apache.struts2.interceptor.PrincipalProxy为您的操作。在您的操作中实现它并使用此对象来获取用户主体。

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

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

于 2012-11-26T22:45:49.613 回答
0

它不与 Servlet 上下文集成吗?您应该能够通过以下方式获得它:

ServletActionContext.getRequest().getUserPrincipal().getName();
于 2012-11-26T22:34:23.593 回答