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

问题描述 投票:3回答:1

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

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

非常感谢

spring struts2 spring-security
1个回答
3
投票

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

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

这将返回org.springframework.security.core.userdetails.UserDetails对象。你可以从username对象获得authoritiesUserDetails

© www.soinside.com 2019 - 2024. All rights reserved.