如何在Struts2中访问已登录用户的用户名?

时间:2014-09-02 12:40:33

标签: spring struts2 spring-security

我在我的网络应用程序项目中使用Spring Security和Struts2。我想将记录用户的用户名值存储在<s:hidden>字段中。那可能吗?如果没有,最好的选择是什么?

<sec:authentication property="name" />
<s:hidden name="value" value="%{name}" />

非常感谢

1 个答案:

答案 0 :(得分:3)

您可以使用以下方式获取登录的用户名,实际上是UserDetails个对象:

SecurityContextHolder.getContext().getAuthentication().getPrincipal();

这会返回org.springframework.security.core.userdetails.UserDetails个对象。您可以从username对象获取authoritiesUserDetails