로그인 url 변경 문제
- 작성자 :
- h********d
- 작성일 :
- 2020-03-06 20:21:44
- 조회수 :
- 2,650
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
안녕하세요.
얼마 전 질문 했는데... 답변이 제 의도와 다른 듯 하여 다시 질문 드립니다.
답변 주신 것 처럼 모두 되어 있습니다.
제가 질문한 요지는...
로그인 url 은 "/uat/uia/actionLogin.do" 인데... 이것의 이름을 "/com/actionLogin.do" 라고 화면에서 바꿔서 호출하였습니다.
물론 자바쪽의 requestmapping 도 해당 이름으로 바꿨구요.
그런데, EgovSpringSecurityLoginFilter 에서 String requestURL = ((HttpServletRequest) request).getRequestURI(); 부분 밑에 로깅을 남겨보니...
requestURL 이 기대했던 "/com/actionLogin.do" 가 아니고, 엉뚱하게 "/uat/uia/egovLoginUsr.do" 나오더라구요.
물론 로그인 url 을 원래대로 "/uat/uia/actionLogin.do" 으로 바꾸면... requestURL 은 기대한 대로 "/uat/uia/actionLogin.do" 로 나오구요.
그 이유는 무었인지요?
아래에 원래 질문했던 내용과 답변을 붙였습니다.
--원래 질문-----------------------------------------------------------------------
안녕하세요.
전자정부프레임워크 eGovFrameDev-3.8.0-64bit 버전을 사용하고 있습니다.
로그인은 초기 설정인 spring security 를 사용하는데...
원래 로그인 url 은 "/uat/uia/actionLogin.do" 더라구요.
그런데 url 을 바꾸고 싶어
EgovLoginUsr.jsp 의 function actionLogin() {} 에서 action 을 바꾸고
EgovWebApplicationInitializer 에서 loginProcessURL 을 화면의 action 으로 바꿨는데...
EgovSpringSecurityLoginFilter 에서 String requestURL = ((HttpServletRequest) request).getRequestURI(); 로 확인해 보면 ...
requestURL 이 화면에서 호출한 url 이 아니고 "/uat/uia/egovLoginUsr.do" 으로 나옵니다.
문제의 원인이 무엇인지요? 그리고 해결 하는 방법이 있는지요?
혹은 로그인 url 을 EgovSpringSecurityLoginFilter 에 걸리지 않게 뺄 수 있으면 정상 작동할 거 같은데... 처리하는 방법이 있는지요?
--답변-------------------------------------------------------------------------
안녕하세요.
표준프레임워크센터 입니다.
EgovWebApplicationInitializer에서
EgovSpringSecurityLoginFilter가 "*.do"로 맵핑 되어 있기 때문에
다음 결과 값에 다양한 URL이 리턴될것입니다.
String requestURL = ((HttpServletRequest) request).getRequestURI();
Filter에서 loginProcessURL 처리하기위해
사용되고 있습니다.
다시한번 해당부분 확인 부탁드립니다.
다음 파일의 설정에서 security 모드인지 확인하셔야 합니다.
Globals.Auth = security
src/main/resources/egovframework/egovProps/globals.properties
참고로
시큐리티 간소화에 대한 가이드는 다음 위키 페이지에서
"Server Security" 부분에서 확인하실수 있습니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rtea3.8
감사합니다.
얼마 전 질문 했는데... 답변이 제 의도와 다른 듯 하여 다시 질문 드립니다.
답변 주신 것 처럼 모두 되어 있습니다.
제가 질문한 요지는...
로그인 url 은 "/uat/uia/actionLogin.do" 인데... 이것의 이름을 "/com/actionLogin.do" 라고 화면에서 바꿔서 호출하였습니다.
물론 자바쪽의 requestmapping 도 해당 이름으로 바꿨구요.
그런데, EgovSpringSecurityLoginFilter 에서 String requestURL = ((HttpServletRequest) request).getRequestURI(); 부분 밑에 로깅을 남겨보니...
requestURL 이 기대했던 "/com/actionLogin.do" 가 아니고, 엉뚱하게 "/uat/uia/egovLoginUsr.do" 나오더라구요.
물론 로그인 url 을 원래대로 "/uat/uia/actionLogin.do" 으로 바꾸면... requestURL 은 기대한 대로 "/uat/uia/actionLogin.do" 로 나오구요.
그 이유는 무었인지요?
아래에 원래 질문했던 내용과 답변을 붙였습니다.
--원래 질문-----------------------------------------------------------------------
안녕하세요.
전자정부프레임워크 eGovFrameDev-3.8.0-64bit 버전을 사용하고 있습니다.
로그인은 초기 설정인 spring security 를 사용하는데...
원래 로그인 url 은 "/uat/uia/actionLogin.do" 더라구요.
그런데 url 을 바꾸고 싶어
EgovLoginUsr.jsp 의 function actionLogin() {} 에서 action 을 바꾸고
EgovWebApplicationInitializer 에서 loginProcessURL 을 화면의 action 으로 바꿨는데...
EgovSpringSecurityLoginFilter 에서 String requestURL = ((HttpServletRequest) request).getRequestURI(); 로 확인해 보면 ...
requestURL 이 화면에서 호출한 url 이 아니고 "/uat/uia/egovLoginUsr.do" 으로 나옵니다.
문제의 원인이 무엇인지요? 그리고 해결 하는 방법이 있는지요?
혹은 로그인 url 을 EgovSpringSecurityLoginFilter 에 걸리지 않게 뺄 수 있으면 정상 작동할 거 같은데... 처리하는 방법이 있는지요?
--답변-------------------------------------------------------------------------
안녕하세요.
표준프레임워크센터 입니다.
EgovWebApplicationInitializer에서
EgovSpringSecurityLoginFilter가 "*.do"로 맵핑 되어 있기 때문에
다음 결과 값에 다양한 URL이 리턴될것입니다.
String requestURL = ((HttpServletRequest) request).getRequestURI();
Filter에서 loginProcessURL 처리하기위해
사용되고 있습니다.
다시한번 해당부분 확인 부탁드립니다.
다음 파일의 설정에서 security 모드인지 확인하셔야 합니다.
Globals.Auth = security
src/main/resources/egovframework/egovProps/globals.properties
참고로
시큐리티 간소화에 대한 가이드는 다음 위키 페이지에서
"Server Security" 부분에서 확인하실수 있습니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rtea3.8
감사합니다.
A
안녕하세요.
표준프레임워크센터 입니다.
loginProcessURL를 "/com/actionLogin.do"변경 지정하고
호출시 다시 로그인 페이지로 이동하는 증상이신듯 합니다.
이런 문제가 생기는 것은
로그인 페이지나 로그인 처리 페이지 URL은
"ROLE_ANONYMOUS" 권한그룹에 등록이 되어 있어야 합니다.
공통컴포넌트를 사용중이시면
"90. 롤관리" 메뉴에서
"/com/actionLogin.do"를 신규 등록하시고
"60. 권한관리" 메뉴에서
"ROLE_ANONYMOUS" 권한그룹에 등록을
하셔야 합니다.
감사합니다.
표준프레임워크센터 입니다.
loginProcessURL를 "/com/actionLogin.do"변경 지정하고
호출시 다시 로그인 페이지로 이동하는 증상이신듯 합니다.
이런 문제가 생기는 것은
로그인 페이지나 로그인 처리 페이지 URL은
"ROLE_ANONYMOUS" 권한그룹에 등록이 되어 있어야 합니다.
공통컴포넌트를 사용중이시면
"90. 롤관리" 메뉴에서
"/com/actionLogin.do"를 신규 등록하시고
"60. 권한관리" 메뉴에서
"ROLE_ANONYMOUS" 권한그룹에 등록을
하셔야 합니다.
감사합니다.