신규 권한에 권한별롤관리 설정 관련 문의 3
- 작성자 :
- 정*원
- 작성일 :
- 2020-11-20 17:49:00
- 조회수 :
- 3,562
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
https://www.egovframe.go.kr/uss/olh/qna/QnaInqireCoUpdt.do?qaId=QA_00000000000019531&menu=5&submenu=3
위 2번 질문에 이어집니다.
답변 감사합니다.
저도 그렇게 작동할 것을 예상해서 해당 권한과 권한롤을 설정한 것인데.. 작동하지 않으니 답답하네요.
정리하자면,
현재 COMTNROLES_HIERARCHY 의 계층구조는 아래와 같이 INSERT 되어 있고,
(말씀하신대로 UNIQUE INDEX 하나 제거하였습니다)
ROLE_ANONYMOUS IS_AUTHENTICATED_ANONYMOUSLY
IS_AUTHENTICATED_REMEMBERED IS_AUTHENTICATED_FULLY
IS_AUTHENTICATED_ANONYMOUSLY IS_AUTHENTICATED_REMEMBERED
IS_AUTHENTICATED_FULLY ROLE_USER
ROLE_RESTRICTED ROLE_GUDOFFICE
ROLE_USER ROLE_ADMIN
ROLE_RESTRICTED ROLE_PURCOR
context-security.xml 에서 아래와 같은 SQL로 데이터를 불러오고 있으며,
sqlHierarchicalRoles="
SELECT a.CHLDRN_ROLE as child, a.PARNTS_ROLE parent
FROM COMTNROLES_HIERARCHY a LEFT JOIN COMTNROLES_HIERARCHY b on (a.CHLDRN_ROLE = b.PARNTS_ROLE)"
권한롤은 아래와 같이 등록되어 있는데
web-000001 \A/uat/uia/.*\.do.*\Z ROLE_ANONYMOUS
web-000001 \A/uat/uia/.*\.do.*\Z ROLE_RESTRICTED
web-000003 \A/.*\.do.*\Z ROLE_RESTRICTED
web-000003 \A/.*\.do.*\Z ROLE_USER
web-000004 \A/uss/umt/.*\.do.*\Z ROLE_ANONYMOUS
web-000005 \A/sec/rnc/.*\.do.*\Z ROLE_ANONYMOUS
web-000006 \A/sym/ccm/zip/.*\.do.*\Z ROLE_ANONYMOUS
web-000007 \A/uss/ion/lsi/.*\.do.*\Z ROLE_ANONYMOUS
web-000008 \A/sym/ccm/zip/.*\.do.*\Z ROLE_ANONYMOUS
web-000009 /EgovTop.do ROLE_ADMIN
web-000009 /EgovTop.do ROLE_RESTRICTED
web-000010 /EgovBottom.do ROLE_ADMIN
web-000010 /EgovBottom.do ROLE_RESTRICTED
web-000011 /EgovLeft.do ROLE_ADMIN
web-000011 /EgovLeft.do ROLE_RESTRICTED
ROLE_RESTRICTED 하위 권한으로 매핑된 계정(ROLE_GUDOFFICE, ROLE_PURCOR)으로 로그인시 Access is denied 가 뜹니다.
계정에 ROLE_RESTRICTED 하위 권한은 매핑되어 있고, 업무사용자 화면에서 계정 생성시 가입승인 상태를 선택하였습니다.
상세 내역은 로그에서 확인 가능합니다.
(TEST1 계정으로 로그인이 성공이고, pubuser 라는 신규권한 생성 할당 유저는 denied 됩니다)
추가로, 구동환경은 로컬 Win10 64Bit, JDK 1.8, Tomcat 8.5(+JEUS8), Oracle 19c(19.3)_(Oracle Docker사용) 구성 입니다.
혹시 제가 빠뜨리고 있는 부분이 있을지 한번 더 확인 부탁드리겠습니다.
확인 감사합니다.
위 2번 질문에 이어집니다.
답변 감사합니다.
저도 그렇게 작동할 것을 예상해서 해당 권한과 권한롤을 설정한 것인데.. 작동하지 않으니 답답하네요.
정리하자면,
현재 COMTNROLES_HIERARCHY 의 계층구조는 아래와 같이 INSERT 되어 있고,
(말씀하신대로 UNIQUE INDEX 하나 제거하였습니다)
ROLE_ANONYMOUS IS_AUTHENTICATED_ANONYMOUSLY
IS_AUTHENTICATED_REMEMBERED IS_AUTHENTICATED_FULLY
IS_AUTHENTICATED_ANONYMOUSLY IS_AUTHENTICATED_REMEMBERED
IS_AUTHENTICATED_FULLY ROLE_USER
ROLE_RESTRICTED ROLE_GUDOFFICE
ROLE_USER ROLE_ADMIN
ROLE_RESTRICTED ROLE_PURCOR
context-security.xml 에서 아래와 같은 SQL로 데이터를 불러오고 있으며,
sqlHierarchicalRoles="
SELECT a.CHLDRN_ROLE as child, a.PARNTS_ROLE parent
FROM COMTNROLES_HIERARCHY a LEFT JOIN COMTNROLES_HIERARCHY b on (a.CHLDRN_ROLE = b.PARNTS_ROLE)"
권한롤은 아래와 같이 등록되어 있는데
web-000001 \A/uat/uia/.*\.do.*\Z ROLE_ANONYMOUS
web-000001 \A/uat/uia/.*\.do.*\Z ROLE_RESTRICTED
web-000003 \A/.*\.do.*\Z ROLE_RESTRICTED
web-000003 \A/.*\.do.*\Z ROLE_USER
web-000004 \A/uss/umt/.*\.do.*\Z ROLE_ANONYMOUS
web-000005 \A/sec/rnc/.*\.do.*\Z ROLE_ANONYMOUS
web-000006 \A/sym/ccm/zip/.*\.do.*\Z ROLE_ANONYMOUS
web-000007 \A/uss/ion/lsi/.*\.do.*\Z ROLE_ANONYMOUS
web-000008 \A/sym/ccm/zip/.*\.do.*\Z ROLE_ANONYMOUS
web-000009 /EgovTop.do ROLE_ADMIN
web-000009 /EgovTop.do ROLE_RESTRICTED
web-000010 /EgovBottom.do ROLE_ADMIN
web-000010 /EgovBottom.do ROLE_RESTRICTED
web-000011 /EgovLeft.do ROLE_ADMIN
web-000011 /EgovLeft.do ROLE_RESTRICTED
ROLE_RESTRICTED 하위 권한으로 매핑된 계정(ROLE_GUDOFFICE, ROLE_PURCOR)으로 로그인시 Access is denied 가 뜹니다.
계정에 ROLE_RESTRICTED 하위 권한은 매핑되어 있고, 업무사용자 화면에서 계정 생성시 가입승인 상태를 선택하였습니다.
상세 내역은 로그에서 확인 가능합니다.
(TEST1 계정으로 로그인이 성공이고, pubuser 라는 신규권한 생성 할당 유저는 denied 됩니다)
추가로, 구동환경은 로컬 Win10 64Bit, JDK 1.8, Tomcat 8.5(+JEUS8), Oracle 19c(19.3)_(Oracle Docker사용) 구성 입니다.
혹시 제가 빠뜨리고 있는 부분이 있을지 한번 더 확인 부탁드리겠습니다.
확인 감사합니다.
A
안녕하세요.
표준프레임워크센터 입니다.
기재하신 내용만으로는
정상적으로 진행한 것으로 보입니다.
다음설정에서
security 모드인지 반드시 확인하셔야 합니다.
Globals.Auth = security
/src/main/resources/egovframework/egovProps/globals.properties
Globals.Auth = session인경우 정상적으로 동작하지 않습니다.
그리고 여러가지 시도시에
이것저것 설정이 수정 되었수도 있고
저희가 알수없는 다양한 변수가 발생할수 있으니
새로이 공통컴포넌트 프로젝트를 생성하시고
DB도 새로 스키마를 생성하여
재학인하는 방법이 필요해 보입니다.
저번에 안내드린대로
센터에서도 동일한 방법으로 테스트하여
정상적으로 동작하는 것을 확인하였습니다.
감사합니다.
표준프레임워크센터 입니다.
기재하신 내용만으로는
정상적으로 진행한 것으로 보입니다.
다음설정에서
security 모드인지 반드시 확인하셔야 합니다.
Globals.Auth = security
/src/main/resources/egovframework/egovProps/globals.properties
Globals.Auth = session인경우 정상적으로 동작하지 않습니다.
그리고 여러가지 시도시에
이것저것 설정이 수정 되었수도 있고
저희가 알수없는 다양한 변수가 발생할수 있으니
새로이 공통컴포넌트 프로젝트를 생성하시고
DB도 새로 스키마를 생성하여
재학인하는 방법이 필요해 보입니다.
저번에 안내드린대로
센터에서도 동일한 방법으로 테스트하여
정상적으로 동작하는 것을 확인하였습니다.
감사합니다.