Spring Security 관련 접근 제어 및 사용자 관리
- 작성자 :
- 류*재
- 작성일 :
- 2011-05-20 09:07:53
- 조회수 :
- 2,583
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
Q1.메뉴얼에 있는 내용으로 권한, 롤, 권한별 롤, 권한그룹, 메뉴 생성등을 유추해서 설정해 보았으나 원하는 결과를 얻지 못했습니다.
전자정부프레임워크에 적용된 Spring Security 실습 시나리오가 있는지 궁금합니다.
Q2.업무사용자를 등록하여 권한별 그룹 할당후 로그인까지는 잘 되었는데요.
아직 테스트 중이라서 실명확인은 하지 않고 일반사용자는 업무사용자가 등록하여 권한별 그룹에 등록을 해도 일반사용자 아이디로 로그인이 안됩니다.
아직 부족한 점이 많아서 많은 도움 부탁드립니다.
그럼 오늘도 활기찬 하루 보내세요.
전자정부프레임워크에 적용된 Spring Security 실습 시나리오가 있는지 궁금합니다.
Q2.업무사용자를 등록하여 권한별 그룹 할당후 로그인까지는 잘 되었는데요.
아직 테스트 중이라서 실명확인은 하지 않고 일반사용자는 업무사용자가 등록하여 권한별 그룹에 등록을 해도 일반사용자 아이디로 로그인이 안됩니다.
아직 부족한 점이 많아서 많은 도움 부탁드립니다.
그럼 오늘도 활기찬 하루 보내세요.
A
안녕하세요.. 류영재님..
Q1. Spring Security 부분은 공통컴포넌트의 권한관리쪽보다는..
실행환경의 security service의 가이드를 참조해 보시면 도움이 되실 것 같습니다.
http://www.egovframe.org/wiki/doku.php?id=egovframework:rte:fdl:server_security
특히. architecture부분의 DB 스키마 부분을 확인해 보시면.. 도움이 되실 것 같습니다.
이 DB 스키마에 대한 CRUD를 공통컴포넌트에서 제공한다고 이해하시면 되실 것 같습니다.
(단, 실행환경 스키마와 공통컴포넌트 스키마는 다름 - 테이블명, 컬럼명)
Q2. 로그인이 안되시는 경우는..
context-security.xml상에 지정된 usersByUsernameQuery 부분의 query를 확인해 보시면 도움이 되실 것 같습니다.
혹.. 다음과 같이 되어 있지 않은 경우는 다음과 같이 변경하시면 되실 것 같습니다.
SELECT USER_ID, UNIQ_ID AS PASSWORD, 1 ENABLED, USER_NM, USER_ZIP,
USER_ADRES, USER_EMAIL, USER_SE, ORGNZT_ID, UNIQ_ID,
(select a.ORGNZT_NM from COMTNORGNZTINFO a where a.ORGNZT_ID = ORGNZT_ID) ORGNZT_NM
FROM COMVNUSERMASTER WHERE CONCAT(USER_SE, USER_ID) = ?
주의해서 보셔야 할 부분은 "FROM COMVNUSERMASTER usr, COMTNORGNZTINFO org"와 같이 inner join 방식으로 되어 있는 배포본은 기관정보가 없는 일반사용자의 경우 로드인이 되지 않으실 수 있습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
Q1. Spring Security 부분은 공통컴포넌트의 권한관리쪽보다는..
실행환경의 security service의 가이드를 참조해 보시면 도움이 되실 것 같습니다.
http://www.egovframe.org/wiki/doku.php?id=egovframework:rte:fdl:server_security
특히. architecture부분의 DB 스키마 부분을 확인해 보시면.. 도움이 되실 것 같습니다.
이 DB 스키마에 대한 CRUD를 공통컴포넌트에서 제공한다고 이해하시면 되실 것 같습니다.
(단, 실행환경 스키마와 공통컴포넌트 스키마는 다름 - 테이블명, 컬럼명)
Q2. 로그인이 안되시는 경우는..
context-security.xml상에 지정된 usersByUsernameQuery 부분의 query를 확인해 보시면 도움이 되실 것 같습니다.
혹.. 다음과 같이 되어 있지 않은 경우는 다음과 같이 변경하시면 되실 것 같습니다.
SELECT USER_ID, UNIQ_ID AS PASSWORD, 1 ENABLED, USER_NM, USER_ZIP,
USER_ADRES, USER_EMAIL, USER_SE, ORGNZT_ID, UNIQ_ID,
(select a.ORGNZT_NM from COMTNORGNZTINFO a where a.ORGNZT_ID = ORGNZT_ID) ORGNZT_NM
FROM COMVNUSERMASTER WHERE CONCAT(USER_SE, USER_ID) = ?
주의해서 보셔야 할 부분은 "FROM COMVNUSERMASTER usr, COMTNORGNZTINFO org"와 같이 inner join 방식으로 되어 있는 배포본은 기관정보가 없는 일반사용자의 경우 로드인이 되지 않으실 수 있습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.