[SPRING] 스프링 보안 로그 아웃이 j_spring_security_logout으로 이동합니다.
SPRING스프링 보안 로그 아웃이 j_spring_security_logout으로 이동합니다.
내 웹 응용 프로그램에서 로그 아웃하려고하면 주어진 페이지 대신 j_spring_security_logout으로 이동합니다. 내 spring-security.xml 페이지에서 나는
문제는 스프링 보안 3.1.4.RELEASE 버전을 사용했을 때 더 일찍 작업 한 것입니다. 이제 3.2.2.RELEASE를 사용하고 있습니다.
나는 또한 다음을 시도했다. 작동하지 않았다.
spring-security.xml
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security.xsd">
<http auto-config='true'>
<intercept-url pattern="/login*" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<intercept-url pattern="/**" access="ROLE_USER" />
<form-login login-page="/login" default-target-url="/transaction-view"
always-use-default-target="true" authentication-failure-url="/loginfailed" />
<logout logout-url="/logout" logout-success-url="/login.jsp" delete-cookies="JSESSIONID" />
<session-management invalid-session-url="/invalidSession.htm">
<concurrency-control max-sessions="1"
error-if-maximum-exceeded="true" /> <!--this will throw error to second login attempt -->
</session-management>
<!-- <custom-filter before="FORM_LOGIN_FILTER" ref="myFilter" /> -->
<csrf />
</http>
<beans:bean id="customSecurityService"
class="com.fg.monitoringtool.web.security.SecurityService"></beans:bean>
<beans:bean id="passwordEncoder"
class="com.fg.monitoringtool.web.security.PasswordEncoderMD5"></beans:bean>
<authentication-manager alias="authenticationManager">
<authentication-provider user-service-ref="customSecurityService">
<password-encoder ref="passwordEncoder">
</password-encoder>
</authentication-provider>
</authentication-manager>
미리 감사드립니다.
해결법
-
==============================
1.스프링 보안 CSRF 보호가 활성화되면 POST로 로그 아웃해야합니다.
스프링 보안 CSRF 보호가 활성화되면 POST로 로그 아웃해야합니다.
<c:url var="logoutUrl" value="/logout"/> <form action="${logoutUrl}" method="post"> <input type="submit" value="Log out" /> <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/> </form>
-
==============================
2.기본 로그 아웃 URL을 사용하는 더 좋은 방법은
기본 로그 아웃 URL을 사용하는 더 좋은 방법은
<c:url var="logoutUrl" value="j_spring_security_logout"/> <form action="${logoutUrl}" method="post"> <input type="submit" value="Log out" /> <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/> </form>
from https://stackoverflow.com/questions/22604064/spring-security-logout-goes-to-j-spring-security-logout by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Quartz Scheduler : 모든 클러스터 노드에서 일부 작업을 트리거하고 클러스터마다 한 번만 트리거합니다. (0) | 2019.03.29 |
---|---|
[SPRING] Spring 4에서 register-defaults = "false"와 같은 것은 무엇입니까? (0) | 2019.03.29 |
[SPRING] 포스트 구조로 봄 콩 테스트하기 (0) | 2019.03.29 |
[SPRING] 봄 데이터 Redis 만료 키 (0) | 2019.03.29 |
[SPRING] Proguard는 수업을 찾을 수 없다고 말하고 있습니다. (0) | 2019.03.29 |