제공된 security-manager.properties 파일을 CONFIG_PATH
로 지정한 경로( WAS_HOME )에 복사합니다.
security-manager.properties 의 내용은 다음과 같습니다.
4개 property 의 값은 Manager 모듈에서 사용됩니다.
queryLoader.rootPath=query glue-security-dataSource.jndiname=jdbc/oracle/GlueSecurityDS glueUserService.crc=true log.file.path=C:/logs/security-manager.log
security-manager.properties 의 사용처
WAR-FILE / WEB-INF / classes / applicationContext.xml
applicationContext.xml 에서 다음과 같이 사용됩니다.
<beans ...> <bean id="placeholderConfig" class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"> <property name="location" value="file:${CONFIG_PATH}/security-manager.properties" /> <property name="ignoreUnresolvablePlaceholders" value="true" /> </bean> ... <bean id="queryLoader" class="com.poscoict.glueframework.dao.manager.GlueQueryLoader"> <property name="rootPath" value="${queryLoader.rootPath}" /> </bean> ... <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean" lazy-init="true"> <property name="jndiName" value="${glue-security-dataSource.jndiname}" /> </bean> ... </beans>
WAR-FILE / WEB-INF / classes / logback-test.xml
logback-test.xml 에서 다음과 같이 사용됩니다.
<configuration ...> <property file="${CONFIG_PATH}/security-manager.properties"/> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>${log.file.path}</file> ... </configuration>
WAR-FILE / WEB-INF / security / security-context.xml
security-context.xml 에서 다음과 같이 사용됩니다.
<beans:beans ...> <beans:bean id="placeholderConfig" class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"> <beans:property name="location" value="file:${CONFIG_PATH}/security-manager.properties" /> ... <beans:bean id="glueUserService" class="com.poscoict.glueframework.security.bean.GlueUserDetailsService"> <beans:property name="crc" value="${glueUserService.crc}"/> ... </beans:beans>
Glue Query 위치를 수정합니다.
Oracle DB 사용시 queryLoader.rootPath 의 값은 query 입니다.
MySQL(또는 MariaDB) 사용시 queryLoader.rootPath 의 값은 mysql 입니다.
PostgreSQL(또는 PPAS) 사용시 queryLoader.rootPath 의 값은 postgresql 입니다.
queryLoader.rootPath=query
JNDI 이름을 수정합니다.
glue-security-dataSource.jndiname=jdbc/oracle/GlueSecurityDS
application log 의 위치 및 파일이름을 수정합니다.
log.file.path=C:/logs/security-manager.log
일반적으로 테이블의 varchar값 인덱스의 속도보다는 int값 인덱스와 속도가 훨씬 빠릅니다.
USERS 테이블의 VARCHAR 형 컬럼(USER_ID) 대신에 NUMBER 형 컬럼(CRC_ID)을 검색에 사용할 수 있는 property로서, true일경우 USERS 테이블 검색시 속도 향상을 기대할 수 있습니다.
USERS 테이블의 레코드가 많을 경우(User가 매우 많을 경우) Crc32로 암호화한 int값을 사용하여 검색하면 검색 속도를 빠르게 할 수 있습니다.
glueUserService.crc=true