eGov Security 로그인 failure
- 작성자 :
- 김*웅
- 작성일 :
- 2014-09-30 16:55:15
- 조회수 :
- 968
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
web.xml과 security 설정 후 권한없는 페이지에서 로그인 폼이 뜨는 것을 확인하고 로그인을 시도했습니다.
DB에 입력되어있는 유저는 admin/admin 하나 뿐이었고, ROLE_ADMIN 권한을 가지고 있습니다.
EgovUsersByUsernameMapping을 오버라이드해서 아래와 같이 구현하였고, VO에 정보가 담기는 것을 확인했습니다.
그런데 loginFailure로 설정해둔 페이지로 빠져버리는데
AbstractUserDetailsAuthenticationProvider의
additionalAuthenticationChecks(user, (UsernamePasswordAuthenticationToken) authentication); 에서 캐치 당하고
Exception을 확인해보면 Bad Credentials 라는 메시지가 들어있습니다.
DB에 유저pw는 현재 암호화되어있지 않습니다.
eGov 간소화 설정을 적용하였고, hash와 hashBase64는 기본값(sha-256, true)입니다.
유저정보 비교 시 사용자가 입력한 값을 sha-256 인코딩하여 DB에 있는 값과 비교해서 Bad Credentials가 뜨는 것인가요?
그래서 문제가 생긴다면 passwordEncoder를 사용하지 않을 수 있는 설정값이 있을지 궁금합니다.
DB에 입력되어있는 유저는 admin/admin 하나 뿐이었고, ROLE_ADMIN 권한을 가지고 있습니다.
EgovUsersByUsernameMapping을 오버라이드해서 아래와 같이 구현하였고, VO에 정보가 담기는 것을 확인했습니다.
그런데 loginFailure로 설정해둔 페이지로 빠져버리는데
AbstractUserDetailsAuthenticationProvider의
additionalAuthenticationChecks(user, (UsernamePasswordAuthenticationToken) authentication); 에서 캐치 당하고
Exception을 확인해보면 Bad Credentials 라는 메시지가 들어있습니다.
DB에 유저pw는 현재 암호화되어있지 않습니다.
eGov 간소화 설정을 적용하였고, hash와 hashBase64는 기본값(sha-256, true)입니다.
유저정보 비교 시 사용자가 입력한 값을 sha-256 인코딩하여 DB에 있는 값과 비교해서 Bad Credentials가 뜨는 것인가요?
그래서 문제가 생긴다면 passwordEncoder를 사용하지 않을 수 있는 설정값이 있을지 궁금합니다.
A
안녕하세요. 김종웅님.
패스워드를 암호화하지 않으셨기 떄문입니다.
passwordEncoder의 설정을 sha-256에서 plaintext로 변경하시면 되실 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
패스워드를 암호화하지 않으셨기 떄문입니다.
passwordEncoder의 설정을 sha-256에서 plaintext로 변경하시면 되실 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.