security-manager.properties

제공된 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 의 사용처

    1. WAR-FILE / WEB-INF / classes / applicationContext.xml
      applicationContext.xml 에서 다음과 같이 사용됩니다.
      <beans ...>
          <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
              <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>
      
    2. 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>
      
    3. WAR-FILE / WEB-INF / security / security-context.xml
      security-context.xml 에서 다음과 같이 사용됩니다.
      <beans:beans ...>
          <beans:bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
              <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>
      

query 폴더 설정

Glue Query 위치를 수정합니다.
Oracle DB 사용시 queryLoader.rootPath 의 값은 query 입니다.
MySQL(또는 MariaDB) 사용시 queryLoader.rootPath 의 값은 mysql 입니다.
PostgreSQL(또는 PPAS) 사용시 queryLoader.rootPath 의 값은 postgresql 입니다.

queryLoader.rootPath=query

JNDI 사용 설정

JNDI 이름을 수정합니다.

glue-security-dataSource.jndiname=jdbc/oracle/GlueSecurityDS

Logging 설정

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