권한관리

개요

시스템 구축시 스프링의 보안 메카니즘을 적용하기 위해 Spring Security 에서 관리하는 권한(Authority)을 정의하는 컴포넌트이다. 당 컴포넌트를 이용하여 담당자는 시스템 사용자에게 부여하는 권한을 정의하여 관리할 수 있다.

설명

권한관리는 사용자별 권한을 관리하기 위한 목적으로 등록, 수정, 삭제, 조회, 목록조회의 기능을 수반한다.

  ① 권한등록 : 시스템 담당자는 시스템 사용자에게 권한을 부여하기 위한 정의한 권한정보를 등록한다.
  ② 권한수정 : 시스템 담당자는 시스템 사용자에게 권한을 부여하기 위한 정의한 권한정보를 수정한다.
  ③ 권한삭제 : 시스템 담당자는 시스템 사용자에게 권한을 부여하기 위한 정의한 권한정보를 삭제한다.
  ④ 권한조회 : 시스템 담당자는 시스템 사용자에게 권한을 부여하기 위한 정의한 권한정보를 조회한다.
  ⑤ 권한목록 : 시스템 담당자는 시스템 사용자에게 권한을 부여하기 위한 정의한 권한정보 목록을 조회한다.

환경설정

권한 기본 설정

* 스프링에서 제공하는 기본 권한(Authority)
AUTHORITIDESCRIPTION
ROLE_ANONYMOUS모든 사용자
IS_AUTHENTICATED_ANONYMOUSLY익명 사용자
IS_AUTHENTICATED_FULLY인증된 사용자
IS_AUTHENTICATED_REMEMBEREDREMEMBERED 사용자
ROLE_RESTRICTED제한된 사용자
ROLE_USER일반 사용자
ROLE_ADMIN관리자

권한 추가 설정

* 업무적으로 필요에 의해 추가한 권한(Authority)
AUTHORITIDESCRIPTION
ROLE_SYM시스템 업무 담당자
ROLE_COP협업 담당자
ROLE_USS사용자지원 담당자
ROLE_USER_MANAGER업무사용자 관리자
ROLE_SEC보안 업무 담당자
ROLE_ENTRPRSMBER_MANAGER기업회원 관리자
ROLE_MBER_MANAGER일반회원 관리자

권한(롤) 상속구조 정의(ROLES_HIERARCHY)

* 정의된 하위 권한의 롤을 상속하기 위해 COMTNROLES_HIERARCHY Table에 상속구조를 정의한다.

ROLE_ANONYMOUS → IS_AUTHENTICATED_ANONYMOUSLY → IS_AUTHENTICATED_FULLY → IS_AUTHENTICATED_REMEMBERED → ROLE_USER → ROLE_ADMIN

* 기초 데이터 생성

권한관련 기초데이터를 먼저 생성한다.

* 추가적으로 설정하는 권한은 기존에 정의된 권한 사이에 삽입한다.
  • 상위 권한 정의
INSERT INTO COMTNROLES_HIERARCHY (PARENT_ROLE, CHILD_ROLE) VALUES('ROLE_COP','ROLE_ADMIN');
  • 하위 권한 정의
INSERT INTO COMTNROLES_HIERARCHY (PARENT_ROLE, CHILD_ROLE) VALUES('ROLE_RESTRICTED','ROLE_COP');
  • 권한의 HIERARCHY 구조
SELECT A.CHILD_ROLE CHILD, 
       A.PARENT_ROLE PARENT
  FROM COMTNROLES_HIERARCHY A LEFT JOIN COMTNROLES_HIERARCHY B ON (A.CHILD_ROLE = B.PARENT_ROLE);

Spring Security Configuration

관련기능

참고자료

 
egovframework/com/v2/sec/권한관리.txt · 마지막 수정: 2023/12/21 05:21 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki