在我的 spring web 应用程序中,我想在我的 Controller 中获得一个经过身份验证的用户:
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
但是主体的值是“anonymousUser”,尽管我已经登录了。 如何获得经过身份验证的用户? 我在 spring-security.xml 中的配置:
<http auto-config="true" request-matcher="regex">
<intercept-url pattern="/welcome*" access="ROLE_USER" />
<form-login login-page="/login" default-target-url="/welcome"
authentication-failure-url="/loginfailed" />
<logout logout-success-url="/logout" />
</http>
最佳答案
不确定我是否理解,但试试这个
<http auto-config="true" request-matcher="regex">
<intercept-url pattern="/welcome*" access="ROLE_USER" />
<intercept-url pattern="/*" access="IS_AUTHENTICATED,IS_AUTHENTICATED_ANONYMOUSLY"/>
关于java - Spring Security getPrincipal() 方法返回 anonymousUser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14665886/