HTTP 프로토콜로 로그아웃 get요청 시 /j_spring_security_logout 404 에러문의입니다.
- 작성자 :
- 꼬***자
- 작성일 :
- 2024-09-09 15:35:24
- 조회수 :
- 219
- 구분 :
- 운영환경 / 기타
- 진행상태 :
- 완료
Q
로그아웃 버튼(a 태그)클릭 시 /uat/uia/actionLogout.do 로 HTTP GET 요청 시 정상적으로 로그아웃된 후 로그인 페이지로 이동하는데
HTTPS 환경에서 GET 요청 시 302 -> 404 에러가 발생하게됩니다.
404 에러가 발생했을 때 uri의 엔드포인트는 /j_spring_security_logout 이 되게 됩니다.
EgovSpringSecurityLogoutFilter 단에서 로그아웃 요청 시
httpRequest.getSession().setAttribute("loginVO", null);
httpResponse.sendRedirect(((HttpServletRequest)request).getContextPath() + "/j_spring_security_logout");
처리되는 부분이 있는데 이 부분에서 로그아웃처리는 되지만 로그인페이지로 리다이렉트가 안되는 것 같습니다..
기존 설정이 문제라면 http / https 모두 동일하게 404가 발생해야할 것 같은데
주소창에 http로 요청시에는 로그인페이지로 잘 리다이렉트가 되는데 혹시 context-security.xml 파일에 https 관련 설정이 추가로 필요한 부분이 있을까요?
<egov-security:config>의 login, logout url 설정은
loginUrl = "/uat/uia/egovLoginUsr.do"
logoutSuccessUrl = "/EgovContent.do"
defaultTargetUrl = "/EgovContent.do"
가 기본적으로 설정되어있습니다.
HTTPS 환경에서 GET 요청 시 302 -> 404 에러가 발생하게됩니다.
404 에러가 발생했을 때 uri의 엔드포인트는 /j_spring_security_logout 이 되게 됩니다.
EgovSpringSecurityLogoutFilter 단에서 로그아웃 요청 시
httpRequest.getSession().setAttribute("loginVO", null);
httpResponse.sendRedirect(((HttpServletRequest)request).getContextPath() + "/j_spring_security_logout");
처리되는 부분이 있는데 이 부분에서 로그아웃처리는 되지만 로그인페이지로 리다이렉트가 안되는 것 같습니다..
기존 설정이 문제라면 http / https 모두 동일하게 404가 발생해야할 것 같은데
주소창에 http로 요청시에는 로그인페이지로 잘 리다이렉트가 되는데 혹시 context-security.xml 파일에 https 관련 설정이 추가로 필요한 부분이 있을까요?
<egov-security:config>의 login, logout url 설정은
loginUrl = "/uat/uia/egovLoginUsr.do"
logoutSuccessUrl = "/EgovContent.do"
defaultTargetUrl = "/EgovContent.do"
가 기본적으로 설정되어있습니다.
환경정보
-
- OS 정보 :
- 표준프레임워크 버전 :
- JDK(JRE) 정보 :
- WAS 정보 :
- DB 정보 :
- 기타 환경 정보 : egov-security-3.0
A
안녕하세요.
표준프레임워크 센터입니다.
기재하신 정보가 제한적이므로
해당 이슈에 대해 확인이 어렵습니다.
해당 코드는 다음과 같이 확인되며
센터에서 확인시 정상적으로 구동되는것이 확인됩니다.
((HttpServletRequest)request).getSession().setAttribute("loginVO", null);
((HttpServletResponse)response).sendRedirect(((HttpServletRequest)request).getContextPath() + "/j_spring_security_logout");
커스텀 하신 사항이 있다면
첨삭 된 이력을 원래 코드와 비교 및 점검해 보시기 바랍니다.
감사합니다.
안녕하세요.
표준프레임워크 센터입니다.
기재하신 정보가 제한적이므로
해당 이슈에 대해 확인이 어렵습니다.
해당 코드는 다음과 같이 확인되며
센터에서 확인시 정상적으로 구동되는것이 확인됩니다.
((HttpServletRequest)request).getSession().setAttribute("loginVO", null);
((HttpServletResponse)response).sendRedirect(((HttpServletRequest)request).getContextPath() + "/j_spring_security_logout");
커스텀 하신 사항이 있다면
첨삭 된 이력을 원래 코드와 비교 및 점검해 보시기 바랍니다.
감사합니다.