Spring Security注销异常

时间:2011-03-21 09:42:04

标签: spring-security

当我配置Spring Security 3以注销用户时,我收到了一个巨大的错误

  

线程中的异常“”http-bio-8080“-exec-7”java.lang.StackOverflowError       在com.dc.api.model.Users.getUsername(Users.java:200)

Users.java:200映射到org.springframework.security.core.userdetails.UserDetails实施方法

public String getUsername() {
    return this.getUsername();
}

退出链接:

<a href="${facesContext.externalContext.requestContextPath}/j_spring_security_logout.html">
log out</a>

spring security config:

 <logout invalidate-session="true" 
          logout-success-url="/" 
          logout-url="/j_spring_security_logout.html"/>

web.xml

我已将springSecurityFilterChain配置为对*.html*.xhtml

的任何转发或请求进行投放

1 个答案:

答案 0 :(得分:2)

这里的问题是由spring security调用的以下方法调用自身并处于无限循环中。它应该调用我的用户模型对象的userId(this.getUserId

public String getUsername() {
    return this.getUsername();
}