====== 공통컴포넌트 3.6 환경설정 ======
표준프레임워크 3.5 에서는 web.xml 및 context-egovuserdetailshelper.xml의 파일을 설정하여 데이터베이스와 권한방식를 변경할 수 있었습니다.
표준프레임워크 3.6 에서는 Servlet3.1 기능으로 globals.properties를 통한 설정 간소화로 데이터베이스와 인증/권한방식을 변경할 수 있습니다.
1. 데이터베이스 설정
2. 인증/권한방식 설정
===== 1. 데이터베이스 설정 ======
1) globals.properties 설정파일 기준으로 spring profile 서비스를 이용하여 데이터베이스 환경 설정을 한다. \\
2) DbType별 데이터베이스 정보를 설정 한다.\\
* Globals.DbType 기준으로 context-datasource.xml 파일에 설정되어 있는 Spring Pofile기능에 의하여 dataSource 빈이 활성화 된다. \\
* 해당 기능을 활용하여 테스트DB, 검증DB, 운영DB로 분리 가능하다.\\
# DB서버 타입(mysql, oracle, altibase, tibero, cubrid) - datasource 및 sqlMap 파일 지정에 사용됨
Globals.DbType = mysql
#mysql
Globals.mysql.DriverClassName=net.sf.log4jdbc.DriverSpy
Globals.mysql.Url=jdbc:log4jdbc:mysql://127.0.0.1:3336/com
Globals.mysql.UserName = com
Globals.mysql.Password =
.
.
.
#oracle
#altibase
#tibero
#cubrid
사용하는 데이터베이스를 변경하였을 경우에는 pom.xml의 jdbc 드라이버에 대한 Dependency를 설정해야 한다. 3rd party library의 경우에는 직접 Local Repository에 library를 넣어 주거나 Nexus서버를 구성하여 다운로드 받을 수 있다. Nexus에 대한 자세한 설정은 개발환경의 [[eGovframework:DEV:DEP:Nexus]]페이지를 참조한다.
mysql
mysql-connector-java
5.1.17
ojdbc
ojdbc
14
altibase
altibase-jdbc-driver
5.1.3.18
com.tmax.tibero
tibero-jdbc
3.0
===== 2. 인증/권한방식 설정 =====
인증/권한 방식은 표준프레임워크 3.5 이하 버전에서 개발자가 수동으로 관련 XML 설정하던 불편한 점을 \\
표준프레임워크 3.6 버전에서 개선 및 간소화가 되어서 globals.properties 설정만으로 사용가능 합니다. \\
간소화 방식은 크게 두가지 방식으로 제공합니다. \\
- session : 세션 방식으로 사용자의 권한을 인증함 \\
- security : spring security 방식으로 사용자 권한을 인증함 \\
\\
Servlet 3.1 도입으로 web.xml을 dynamic하게 설정 가능하여 간소화가 가능해 졌습니다.\\
WebApplicationInitializer를 통해 egovframework.com.cmm.config.EgovWebApplicationInitializer 클래스에 의하여 설정 파일이 동적으로 설정 됩니다. \\
security 모드일때 DelegatingFilterProxy, EgovSpringSecurityLoginFilter, EgovSpringSecurityLogoutFilter의 설정내역이 FilterRegistration 빈에 등록 됩니다. \\
Spring Pofile 기능으로 인증/권한방식에 따라서 egovUserDetailsHelper 빈을 동적으로 생성 합니다. \\
# 인증/권한 인증방식(session, security) - 사용자의 로그인시 인증 방식을 결정함
# session : 세션 방식으로 사용자 권한을 인증함
# security : spring security 방식으로 사용자 권한을 인증함
Globals.Auth = session