8

在我的 Spring Web 应用程序中,我想在我的控制器中获得一个经过身份验证的用户:

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>
4

1 回答 1

4

不知道我明白,但试试这个

<http auto-config="true" request-matcher="regex">
  <intercept-url pattern="/welcome*" access="ROLE_USER" />
  <intercept-url pattern="/*" access="IS_AUTHENTICATED,IS_AUTHENTICATED_ANONYMOUSLY"/>
于 2013-02-02T21:57:51.363 回答