2014-01-14 2 views
2

자바 설정으로 스프링 보안을 처음 접했습니다. 달성하고자하는 것은 다음과 같습니다. 내 응용 프로그램이 jsp를 사용하고 있습니다. /login.jsp라는 사용자 정의 로그인 양식이 있습니다.스프링 보안 3.2 : 로그 아웃 할 수 없습니다.

은 내가 같이 httpsecurity 정의 : 좋은 작품에

@Override 
protected void configure(HttpSecurity http) throws Exception { 
http.authorizeRequests().anyRequest().authenticate d().and().formLogin() 
.loginPage("/login.jsp").permitAll().and().logout().permitAll() ; 
} 

로깅, URL을 제대로 차단되어, 로그인 폼 제시하고 성공적으로 로그인시, 나는 앱 페이지에 액세스 할 수 있습니다.

로그 아웃 프로세스에 문제가 있습니다.

내가 같이 링크를 지정하는 시도 그런 페이지/로그 아웃이 없기 때문에

<li><a href="${pageContext.request.contextPath}/logout" 
title="Logout"><span class="glyphicon glyphicon-log-out"></span></a></li> 

하지만 링크를 클릭 할 때, 나는 404 오류가 발생합니다 : 내가 로그 아웃 내 JSP로의 링크를 포함했다 :

<li><a href="${pageContext.request.contextPath}/login.jsp?logout=0" 
title="Logout"><span class="glyphicon glyphicon-log-out"></span></a></li> 

하지만 로그인 페이지에 '사용자가 로그 아웃되었습니다'라고 표시되지만 앱 페이지에 계속 액세스 할 수 있습니다.

그래서 로그 아웃 링크에서 어떤 값을 설정해야하고 HttpSecurity 구성에서 해당 설정이 있어야하는지 궁금합니다. 사용자가 로그 아웃 링크를 클릭하면 기록됩니다. '로그 아웃되었습니다'라는 메시지와 함께 로그인 페이지로 리디렉션됩니다.

안부

장 - 노엘

답변

2

당신은 예를 들어, 구성에서 로그 아웃 URL을 지정해야 이 봄 보안 /j_spring_security_logout을 기본값으로 설정하지 않고

.logoutUrl("/logout") 

.

관련 문제