====== 설정 간소화 ====== ===== 개요 ===== 표준프레임워크 3.0부터 Server security에 대하여 설정을 간소화 할 수 있는 방법을 제공한다.\\ 내부적으로 필요한 설정을 가지고 있고, XML Schema를 통해 필요한 설정만을 추가할 수 있도록 제공한다. ===== XML namespace 및 schema 설정 ===== 설정 간소화 기능을 사용하기 위해서는 다음과 같은 xml 선언이 필요하다. ===== Security Config 설정 ===== Security에 대한 기본 설정 정보를 제공한다. 예: ==== 속성 설명 ==== ^ 속성 ^ 설명 ^ 필수여부 ^ 비고 ^ | loginUrl | 로그인 페이지 URL | 필수 | | | logoutSuccessUrl | 로그아웃 처리 시 호출되는 페이지 URL | 필수 | | | loginFailureUrl | 로그인 실패 시 호출되는 페이지 URL | 필수 | | | accessDeniedUrl | 권한이 없는 경우 호출되는 페이지 URL | 필수 | | | dataSource | DBMS 설정 dataSource | 선택 | 미지정시 'dataSource' bean name 사용 | | jdbcUsersByUsernameQuery | 인증에 사용되는 query | 선택 | default : "select user_id, password, enabled, users.* from users where user_id = ?" | | jdbcAuthoritiesByUsernameQuery | 인증된 사용자의 권한(authority) 조회 query | 선택 | default : "select user_id, authority from authorites where user_id = ?" | | jdbcMapClass | 사용자 정보 mapping 처리 class | 선택 | default : egovframework.rte.fdl.security.userdetails.DefaultMapUserDetailsMapping | | requestMatcherType | 패턴 매칭 방식(regex, ant, ciRegex: case-insensitive regex) | 선택 | default : regex | | hash | 패스워드 저장 방식 (sha-256, plaintext, sha, md5, bcrypt) | 선택 | default : sha-256 | | hashBase64 | hash값 base64 인코딩 사용 여부 | 선택 | default : true | | concurrentMaxSessons | 동시 접속가능 연결수 | 선택 | default : 999 | | concurrentExpiredUrl | expired된 경우 redirect되는 페이지 URL | 선택 | | | defaultTargetUrl | 로그인 성공시 redirect되는 페이지 URL | 선택 | 미지정시 처음 접속하고자 했던 페이지 URL로 redirect됨 | | sniff | 선언된 콘텐츠 유형으로부터 벗어난 응답에 대한 브라우저의 MIME 가로채기를 방지 여부 | 필수 | default : true | | xframeOptions | sniff 옵션 이 ture 일때 X-Frame-Options 범위설정 | 선택 | DENY, SAMEORIGIN| | xssProtection | XSS Protection 기능의 사용 여부 | 필수 | default="true" | | csrf | spring security의 csrf 기능 사용 여부 | 필수 | default="false" | * DefaultMapUserDetailsMapping : VO 없이 Map 방식으로 매핑을 처리함 (jdbcUsersByUsernameQuery 상에 지정된 컬럼에 대하여 camel case 방식으로 Hash Map 키 생성 처리) ===== Security Config Initializer 설정 ===== Security에 대한 초기화 처리 정보를 제공한다. 예: ==== 속성 설명 ==== ^ 속성 ^ 설명 ^ 필수여부 ^ 비고 ^ | supportPointcut | pointcut 방식 지원 여부 | 선택 | default : false | | supportMethod | method 방식 지원 여부 | 선택 | default : true | ===== Security Object Config 설정 ===== Security에 대한 기본 query 설정 정보를 제공한다. 예: ==== 속성 설명 ==== ^ 속성 ^ 설명 ^ 필수여부 ^ 비고 ^ | roleHierarchyString | 계층처리를 위한 설정 문자열 지정 | 선택 | 미지정시 DB로부터 지정된 설정정보 지정 | | sqlRolesAndUrl | URL 방식 role 지정 query | 선택 | 미지정시 SecuredObjectDAO의 기본 query가 처리됨 | | sqlRolesAndMethod | method 방식 role 지정 query | 선택 |〃 | | sqlRolesAndPointcut | pointcut 방식 role 지정 query | 선택 |〃 | | sqlRegexMatchedRequestMapping | request 마다 best matching url 보호자원 지정 query | 선택 |〃 | | sqlHierarchicalRoles | 계층처리를 위한 query | 선택 |〃 |