Session 방식 접근제어 권한설정

개요

표준프레임워크 3.9부터 Session 방식으로 접근제어 권한관리를 설정 할 수 있는 방법을 제공한다.

내부적으로 필요한 설정을 가지고 있고, XML Schema를 통해 필요한 설정만을 추가할 수 있도록 제공한다.

이 기능을 사용하기 위해서는 globals.properties 파일에서 Globals.Auth = session 로 설정되어 있어야 한다.

환경설정

pom.xml (dependency추가)

Session 방식의 접근제어 권한관리를 사용하기 위해서는 표준프레임워크 실행환경 구성요소중 org.egovframe.rte.fdl.access 라이브러리가 설치되어야 한다.

<dependency>
	<groupId>org.egovframe.rte</groupId>
	<artifactId>org.egovframe.rte.fdl.access</artifactId>
	<version>${org.egovframe.rte.version}</version>
</dependency>

XML namespace 및 schema 설정

접근제어를 설정하기 위해서는 다음과 같은 xml 선언이 필요하다.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:egov-access="http://maven.egovframe.go.kr/schema/egov-access"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://maven.egovframe.go.kr/schema/egov-access http://maven.egovframe.go.kr/schema/egov-access/egov-access-4.0.0.xsd">

Session 접근제어 설정

Session 방식 접근제어 권한관리에 대한 기본 설정 정보를 제공한다.

예:

	<egov-access:config id="egovAccessConfig"
	    globalAuthen="session"
	    mappingPath="/**/*.do"
	    dataSource="egov.dataSource"
	    loginUrl="/uat/uia/egovLoginUsr.do"
	    accessDeniedUrl="/uat/uia/egovLoginUsr.do?auth_error=1"
	    sqlAuthorityUser="select concat(b.user_se, b.user_id) userid, a.author_code authority
			from comtnemplyrscrtyestbs a, comvnusermaster b
			where a.scrty_dtrmn_trget_id = b.esntl_id"
	    sqlRoleAndUrl="select a.role_pttrn url, b.author_code authority
			from comtnroleinfo a, comtnauthorrolerelate b
			where a.role_code = b.role_code
			and a.role_ty = 'url'
			order by a.role_sort"
	    requestMatcherType="regex"
	    excludeList="/uat/uia/**, /uss/umt/**, /sec/rnc/**, /sym/ccm/zip/**, /uss/ion/lsi/**, 
	    	/cmm/fms/getImage.do, /uss/ion/bnr/getBannerImage.do, /index.do, /EgovLeft.do, /EgovContent.do, 
	    	/EgovTop.do, /EgovBottom.do, /EgovModal.do, /cop/cmt/selectArticleCommentList.do, /cop/stf/selectSatisfactionList.do, 
	    	/cop/stf/selectSingleSatisfaction.do, /cop/cmt/updateArticleCommentView.do"
	/>

속성 설명

속성 설명 필수여부 비고
globalAuthen globals.properties 설정과 동일하게 적용 (Globals.Auth = session 설정 사용시 globalAuthen = “session”으로 값을 동일하게 일치하여 설정 필요) 필수
dataSource DBMS 설정 dataSource 필수
loginUrl 로그인 페이지 URL 필수
accessDeniedUrl 권한이 없는 경우 호출되는 페이지 URL 필수
sqlAuthorityUser 인증된 사용자의 권한(authority) 조회 query 필수
sqlRoleAndUrl Role 및 URL 패턴 필수
requestMatcherType 패턴 매칭 방식(regex, ant, ciRegex: case-insensitive regex) 필수 default : regex
excludeList 접근제한 예외처리 URL(구분자: ,) 필수

* excludeList(접근제한 예외 목록 URL) 예시 값
회원관리 : /uat/uia/**
실명확인 : /sec/rnc/**
우편번호 : /sym/ccm/zip/**
로그인이미지관리 : /uss/ion/lsi/**
약관확인 : /uss/umt/**
포털예제배너 : /uss/ion/bnr/getBannerImage.do
처음화면 : /index.do
로그인화면이미지 : /cmm/fms/getImage.do
좌측메뉴 : /EgovLeft.do
초기화면 : /EgovContent.do
상단메뉴 : /EgovTop.do
하단메뉴 : /EgovBottom.do
모달팝업 : /EgovModal.do
만족도조사 : /cop/stf/selectSatisfactionList.do
만족도조사 선택 : /cop/stf/selectSingleSatisfaction.do
댓글 : /cop/cmt/selectArticleCommentList.do
댓글 선택 : /cop/cmt/updateArticleCommentView.do

* 동적 include 방식 - JSP 에서 <c:import> 혹은 <jsp:include> 사용시 호출대상 URL이 .do 인 경우 :
호출대상.do 뿐만 아니라 .do URL이 호출하는 JSP파일도 권한관리에 등록해야 함

Session 접근제어 재설정

Session 접근제어에서 사용자의 롤권한변경 후 서버 재기동 없이 적용하는 방법을 제공한다.

예:

import egovframework.rte.fdl.access.bean.AuthorityResourceMetadata;
 
@Resource(name="authorityResource")
private AuthorityResourceMetadata sessionResourceMetadata;
 
@RequestMapping(value="/insertAuthorGroupInsert.do")
public String insertAuthorGroup() {
...
    sessionResourceMetadata.reload();
...
}
 
egovframework/rte4.0/fdl/access.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