[공용컴포넌트]권한관리 관련 질문입니다.
- 작성자 :
- 이*범
- 작성일 :
- 2009-10-12 13:54:30
- 조회수 :
- 4,238
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
URL 접근 보안과 관련한 부분의 매커니즘을 파악하기 위해
공용컴포넌트를 설치해서 권한관리 부분을 보고 있습니다.
test1계정을 기준으로
권한을 보면, 권한은 ROLE_SYM 이며,
권한 Hierarchy (COMTNROLES_HIERARCHY) 테이블의 권한 계층구조는 아래처럼
ROLE_ANONYMOUS,
IS_AUTHENTICATED_ANONYMOUSLY,
IS_AUTHENTICATED_REMEMBERED,
....
ROLE_USS 등 총 11개의 권한을 상속받고 있습니다.
ROLE을 보면, 총 55개의 ROLE 있으며
특히, web-000002, web-000003번의 ROLE은 모든 URL접근 패턴을 가지고 있습니다.
(A/.*.do.* , A/.*)
ROLE과 권한의 매핑테이블인 COMTNAUTHORROLERELATE를 보면,
'web-000002' 롤은 ROLE_RESTRICTED라는 권한에 매핑되어 있어서
결국, test1계정은 ROLE_RESTRICTED라는 권한을 상속받고 있기 때문에
모든URL에 접속가능한 권한을 갖는다고 보여집니다.
그리하여, 테스트를 위해 ROLE_RESTRICTED의 권한이 갖는 web-000002 ROLE을
COMTNAUTHORROLERELATE테이블에서 삭제하고,
test1계정으로 "/ems/selectSndngMailList.do" 접근을 해보았는데
별 이상없이 잘 접속이 되었습니다.
(접근 권한이 없기때문에 accessDenied.jsp 화면으로 이동할꺼라고 생각했습니다만.^^;)
Q1) 모든 URL접근 권한이 없는 ROLE_SYM 권한으로 어떻게 접속이 가능했는지 궁금하며,
제가 TEST하고 있는것(URL접속권한 테스트)이 맞게 하고 있는것인지 궁금합니다.
Q2) 사용자가 특정 URL에 접근했을때, 그 URL에 접근가능한지 여부를 판별하는 Logic이 어디에 정의 되어있는지 궁금합니다.
공용컴포넌트를 설치해서 권한관리 부분을 보고 있습니다.
test1계정을 기준으로
권한을 보면, 권한은 ROLE_SYM 이며,
권한 Hierarchy (COMTNROLES_HIERARCHY) 테이블의 권한 계층구조는 아래처럼
ROLE_ANONYMOUS,
IS_AUTHENTICATED_ANONYMOUSLY,
IS_AUTHENTICATED_REMEMBERED,
....
ROLE_USS 등 총 11개의 권한을 상속받고 있습니다.
ROLE을 보면, 총 55개의 ROLE 있으며
특히, web-000002, web-000003번의 ROLE은 모든 URL접근 패턴을 가지고 있습니다.
(A/.*.do.* , A/.*)
ROLE과 권한의 매핑테이블인 COMTNAUTHORROLERELATE를 보면,
'web-000002' 롤은 ROLE_RESTRICTED라는 권한에 매핑되어 있어서
결국, test1계정은 ROLE_RESTRICTED라는 권한을 상속받고 있기 때문에
모든URL에 접속가능한 권한을 갖는다고 보여집니다.
그리하여, 테스트를 위해 ROLE_RESTRICTED의 권한이 갖는 web-000002 ROLE을
COMTNAUTHORROLERELATE테이블에서 삭제하고,
test1계정으로 "/ems/selectSndngMailList.do" 접근을 해보았는데
별 이상없이 잘 접속이 되었습니다.
(접근 권한이 없기때문에 accessDenied.jsp 화면으로 이동할꺼라고 생각했습니다만.^^;)
Q1) 모든 URL접근 권한이 없는 ROLE_SYM 권한으로 어떻게 접속이 가능했는지 궁금하며,
제가 TEST하고 있는것(URL접속권한 테스트)이 맞게 하고 있는것인지 궁금합니다.
Q2) 사용자가 특정 URL에 접근했을때, 그 URL에 접근가능한지 여부를 판별하는 Logic이 어디에 정의 되어있는지 궁금합니다.
A
안녕하세요. 이종범님.
우선 첫번째 질문 답변드리겠습니다.
Spring Security 의 기본 개념은 주어진 권한에 매핑된 롤 정보에 대한 접근방식에 대해 Hierarchy 구조로 되어있어 상속을 하고, 상속 대상은 권한과 매핑된 롤의 정보입니다.
즉, 롤 정보는 어떠한 권한에 하나라도 매핑이 되어 있어야 하며, 매핑되지 않은 url 정보는 default 로 ROLE_ANONYMOUS 권한으로 설정이 됩니다.
그러므로 접근이 가능해 집니다.
두번째 질문의 내용은
http://www.egovframe.go.kr/ 에서
가이드 > 실행환경가이드 > 공통기반 > Server Security 항목을 참고하시기 바랍니다.
수고하십시요.
우선 첫번째 질문 답변드리겠습니다.
Spring Security 의 기본 개념은 주어진 권한에 매핑된 롤 정보에 대한 접근방식에 대해 Hierarchy 구조로 되어있어 상속을 하고, 상속 대상은 권한과 매핑된 롤의 정보입니다.
즉, 롤 정보는 어떠한 권한에 하나라도 매핑이 되어 있어야 하며, 매핑되지 않은 url 정보는 default 로 ROLE_ANONYMOUS 권한으로 설정이 됩니다.
그러므로 접근이 가능해 집니다.
두번째 질문의 내용은
http://www.egovframe.go.kr/ 에서
가이드 > 실행환경가이드 > 공통기반 > Server Security 항목을 참고하시기 바랍니다.
수고하십시요.