이전에 올렸던 템플릿 로그인을 보면 실제로 로그인이 되었는데 로그인 화면이 다시
나오고 메뉴들은 보이지 않는다. 그러면서도  로그인은 완료된것으로 나온다.

이 증상을 알아보기 위해 소스를 하나하나 뒤졌다.

그러려면 전자정부 프레임워크의 소스와 스프링의 소스를 받아두는것이 좋다.
뒤지려니까... 
스프링은 아래 링크에서 받으면 되고 전자정부 프레임워크는 사이트에 가서 찾으면 됨

스프링 : http://www.springsource.org/download/community


문제가 되는 부분을 파악한 결과는 다음과 같다.

1. 로그인 시도시 RequestMapping에 의해서 let/uat/uia/web/EgovLoginController.java의
ActionSecurityLogin을 호출한다.

2. 정상사용자이므로 118Line에서 session에 LoginVO를 담는다.

3. 그후에 j_spring_security_check를 호출한다.
해당 내용은 context-security.xml에서 찾을수 있는데 89Line의 jdbcUserService에서 유저명과 유저권한을 체크할때 리턴되는 값이 없다.
그렇기에 default-target-url이 아닌 authentication-failure-url이 실행된다.

4. login_error이므로 중앙화면에는 로그인 재시도 화면이 보이지만 
이미 session에 LoginVO를 담았기에 좌측화면를 보여주는 EgovIncLeftmenu에서는 
로그인이 된것으로 보여줄수밖에 없다. (하지만 권한이 없으므로 메뉴는 안 보임)

=====================================================

위에서 원인을 찾았으므로 조치가 필요하다.

우선적으로 생각할 수 있는것은 아래와 같다.

1. spring security를 사용하지 않고 자체적으로 구현

2. spring security를 사용하면서 에러를 잡아감

나는 2번째로 하련다.. 






 

'개발 > 전자정부 표준프레임워크' 카테고리의 다른 글

로그인 상세 2  (0) 2012.03.28
템플릿 프로젝트 정비  (0) 2012.03.20
템플릿 로그인  (0) 2012.03.15
개발환경 구축  (5) 2012.03.14
전자정부 표준프레임워크  (0) 2012.03.13
Posted by 무혹
,