Исключение при выходе из системы безопасности Spring - PullRequest
0 голосов
/ 21 марта 2011

Когда я настраиваю 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>

Конфигурация безопасности пружины:

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

web.xml

Я настроил springSecurityFilterChain для запуска при любом пересылке или запросе к *.html и *.xhtml

1 Ответ

2 голосов
/ 21 марта 2011

Проблема здесь заключалась в том, что метод, вызываемый Spring Security, вызывал сам себя и находился в бесконечном цикле.Он должен вызывать userId объекта моей модели пользователя (this.getUserId)

public String getUsername() {
    return this.getUsername();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...