简体   繁体   English

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

[英]How to access the username of the logged user in Struts2?

I am using Spring Security and Struts2 in my web app project. 我在我的Web应用程序项目中使用Spring Security和Struts2。 I want to store the username value of the logged user in an <s:hidden> field. 我想将记录用户的用户名值存储在<s:hidden>字段中。 Is that possible? 那可能吗? If not, whats the best alternative? 如果没有,最好的选择是什么?

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

Many thanks 非常感谢

You can get the logged in username, in fact UserDetails object using : 您可以使用以下命令获取登录用户名,实际上是UserDetails对象:

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

This returns org.springframework.security.core.userdetails.UserDetails object. 这将返回org.springframework.security.core.userdetails.UserDetails对象。 You can get username , authorities from UserDetails object. 您可以从UserDetails对象获取usernameauthorities

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM