제공된 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