spring - Struts2中如何获取登录用户的用户名?

标签 spring struts2 spring-security

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

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

非常感谢

最佳答案

可以获取到登录的用户名,其实是UserDetails对象使用:

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

这将返回 org.springframework.security.core.userdetails.UserDetails目的。您可以获取username , authorities来自UserDetails对象。

关于spring - Struts2中如何获取登录用户的用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25623701/

相关文章:

java - xpages 和 java 框架

迁移到 Spring Boot 3 后 Spring Oauth2 登录不起作用

spring - 如何验证数据源有效且配置正确?

spring security permitAll 仍在考虑在 Authorization header 中传递的 token ,如果 token 无效则返回 401

java - 如何使用 Mockito 模拟 Spring ApplicationContext 的 getBean 方法以使用 TestNG 编写单元测试?

java - 在 Spring Security 获得机会之前创建一个处理请求的 Vaadin 请求处理程序

java - 如何在 PreAuthorize 中解析属性文件中的属性?

Spring Cloud Stream 和@Publisher 注解兼容性

java - struts2 填充默认文本字段和下拉列表并绑定(bind)到模型

Jquery ajax 将用户定义的对象发布到 Strut2 操作