JDBC 인증에 관해..
- 작성자 :
- 양*선
- 작성일 :
- 2011-04-27 18:00:07
- 조회수 :
- 3,040
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
자꾸 질문해서 ^^;;
공통이랑 일반로그인 게시판 연동중인데요..
저희쪽 DB랑 커스텀중인데요.. 우선 로그인부분이 저희쪽은 하나로 통합입니다.
일반.기업.업무 나누어지지 않고.. 로그인하면서 나눌생각입니다.
그럴때 context-security.xml에 있는 usersByUsernameQuery 요놈이 의미가
없어집니다..그래서 삭제하니까 로그인이 안됩니다.
select #### from users .... 이런 sql문장이 돌아가는데 이건 default
인가여? users테이블이란건 당연히 없습니다.
usersByUsernameQuery, authoritiesByUsernameQuery 이 두놈을 안돌리꺼
면 j_check....를 쓰지않는게 맞는거죠? ^^ 제가 부족하여..ㅜㅜ
질문의 요점은 default로 정의되어있는 sql문장이 있는지 궁금합니다.
삭제 하였을시에 어떻게 되는지..
저희쪽은 사용자테이블이 하나로 되어있어 view라든지 만들 껀덕지가 없습니다.
굳히 하자면 하겠지만..
궁금하여 질문 합니다.
- 추가 -
context-security에서 usersByUsernameQuery부분 쿼리 바꾸면 안돌아가나여?
이것저것 바꿔도 부적합한 열 인덱스 이란 에러뜹니다.
Translating SQLException with SQL state 'null', error code '17003'
아주 기본적인 쿼리도 마찬가지네여... ex) select a from table where 1=1
============================================================================
추가된 질문은 자문자답이네요... 긴 삽질끝에;; 이게 맞는지 확인좀 ㅎㅎ
우선 View만들때 not null 선언 안된 컬럼도 들어가있습니다..
이게 최종 뷰형태에서 그 컬럼 이름을 그대로 쓰면 [부적합한 열 인덱스] 에러가 뜨는것
같습니다.맞나요,.. 선언안된 컬럼들 이름을 바꿔주면 되네요..;;
에러를 정확히 잡은건지;;
공통이랑 일반로그인 게시판 연동중인데요..
저희쪽 DB랑 커스텀중인데요.. 우선 로그인부분이 저희쪽은 하나로 통합입니다.
일반.기업.업무 나누어지지 않고.. 로그인하면서 나눌생각입니다.
그럴때 context-security.xml에 있는 usersByUsernameQuery 요놈이 의미가
없어집니다..그래서 삭제하니까 로그인이 안됩니다.
select #### from users .... 이런 sql문장이 돌아가는데 이건 default
인가여? users테이블이란건 당연히 없습니다.
usersByUsernameQuery, authoritiesByUsernameQuery 이 두놈을 안돌리꺼
면 j_check....를 쓰지않는게 맞는거죠? ^^ 제가 부족하여..ㅜㅜ
질문의 요점은 default로 정의되어있는 sql문장이 있는지 궁금합니다.
삭제 하였을시에 어떻게 되는지..
저희쪽은 사용자테이블이 하나로 되어있어 view라든지 만들 껀덕지가 없습니다.
굳히 하자면 하겠지만..
궁금하여 질문 합니다.
- 추가 -
context-security에서 usersByUsernameQuery부분 쿼리 바꾸면 안돌아가나여?
이것저것 바꿔도 부적합한 열 인덱스 이란 에러뜹니다.
Translating SQLException with SQL state 'null', error code '17003'
아주 기본적인 쿼리도 마찬가지네여... ex) select a from table where 1=1
============================================================================
추가된 질문은 자문자답이네요... 긴 삽질끝에;; 이게 맞는지 확인좀 ㅎㅎ
우선 View만들때 not null 선언 안된 컬럼도 들어가있습니다..
이게 최종 뷰형태에서 그 컬럼 이름을 그대로 쓰면 [부적합한 열 인덱스] 에러가 뜨는것
같습니다.맞나요,.. 선언안된 컬럼들 이름을 바꿔주면 되네요..;;
에러를 정확히 잡은건지;;
A
안녕하세요.. 양광선님..
우선 usersByUsernameQuery를 지정하시 않으신 경우 기본 query가 있습니다.
(Spring Security에서 정의한 부분으로 JdbcUserDetailsManager에 지정됨)
따라서 프로젝트의 사용자 정보를 설정을 하셔야 합니다.
이 부분을 사용하지 않으시는 경우는..
사용자 인증 자체를 공통컴포넌트 부분을 사용하지 않으시는 경우이기 때문에..
자체적인 로그인을 구현하셔야 합니다. (대부분의 경우 session을 활용)
자체적으로 로그인을 구현하신 경우라면..
공통컴포넌트의 가이드 중 커스터마이징에 대한 부분이 있는데..
이 부분을 참조하시면 됩니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:%EC%BB%A4%EC%8A%A4%ED%84%B0%EB%A7%88%EC%9D%B4%EC%A7%95_%EB%B0%A9%EC%95%88
이 부분에 사용자 테이블에 대한 뷰 설명도 포함되어 있습니다..
또는 공통컴포넌트의 로그인을 사용하시는 경우는 .. context-security.xml을 설정하셔야 하는데.. 이 부분은 실행환경의 인증 부분을 참조하시면 도움이 되실 것 같습니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:fdl:server_security:authentication
정리하면..
사용자로그인 처리를 위한 인증 부분은 실행환경 부분과 공통컴포넌트 부분이
조금 상이합니다.
실행환경은 "/j_spring_security_check"를 직접 호출하여 사용자 인증을 처리하기 때문에..
usersByUsernameQuery 부분의 query를 직접 호출합니다.
이와 다르게 공통컴포넌트는 자체적인 DB 조회를 통해 먼저 사용자 정보를 확인 한 후..
내부적으로 "/j_spring_security_check"를 호출하는 방식입니다.
ㄷgovframework.com.uat.uia.web.EgovLoginController 클래스가 먼저 사용자 정보를 확인하는 부분이 포함되어 있습니다. (actionLogin 메소드)
따라서 공통컴포넌트 로그인은.. 두 부분을 다 변경하셔야 합니다..
그럼.. 즐거운 하루되십시오.
감사합니다.
우선 usersByUsernameQuery를 지정하시 않으신 경우 기본 query가 있습니다.
(Spring Security에서 정의한 부분으로 JdbcUserDetailsManager에 지정됨)
따라서 프로젝트의 사용자 정보를 설정을 하셔야 합니다.
이 부분을 사용하지 않으시는 경우는..
사용자 인증 자체를 공통컴포넌트 부분을 사용하지 않으시는 경우이기 때문에..
자체적인 로그인을 구현하셔야 합니다. (대부분의 경우 session을 활용)
자체적으로 로그인을 구현하신 경우라면..
공통컴포넌트의 가이드 중 커스터마이징에 대한 부분이 있는데..
이 부분을 참조하시면 됩니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:%EC%BB%A4%EC%8A%A4%ED%84%B0%EB%A7%88%EC%9D%B4%EC%A7%95_%EB%B0%A9%EC%95%88
이 부분에 사용자 테이블에 대한 뷰 설명도 포함되어 있습니다..
또는 공통컴포넌트의 로그인을 사용하시는 경우는 .. context-security.xml을 설정하셔야 하는데.. 이 부분은 실행환경의 인증 부분을 참조하시면 도움이 되실 것 같습니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:fdl:server_security:authentication
정리하면..
사용자로그인 처리를 위한 인증 부분은 실행환경 부분과 공통컴포넌트 부분이
조금 상이합니다.
실행환경은 "/j_spring_security_check"를 직접 호출하여 사용자 인증을 처리하기 때문에..
usersByUsernameQuery 부분의 query를 직접 호출합니다.
이와 다르게 공통컴포넌트는 자체적인 DB 조회를 통해 먼저 사용자 정보를 확인 한 후..
내부적으로 "/j_spring_security_check"를 호출하는 방식입니다.
ㄷgovframework.com.uat.uia.web.EgovLoginController 클래스가 먼저 사용자 정보를 확인하는 부분이 포함되어 있습니다. (actionLogin 메소드)
따라서 공통컴포넌트 로그인은.. 두 부분을 다 변경하셔야 합니다..
그럼.. 즐거운 하루되십시오.
감사합니다.