설치 및 업그레이드 > 설치 및 구성 안내서 > 고급 구성 > 추가 엔터프라이즈 디렉토리 구성 > JNDI 어댑터 작성 및 구성
  
JNDI 어댑터 작성 및 구성
다른 네이밍 또는 디렉토리 서비스(예: LDAP 서비스)에 연결하는 경우 JNDI(Java Naming and Directory Interface) 어댑터를 작성하고 구성해야 합니다. JNDI 어댑터를 사용하면 엔터프라이즈 디렉토리 서버를 비롯한 JNDI 시스템을 통해 액세스할 수 있는 다양한 네이밍 및 디렉토리 인터페이스에 연결할 수 있습니다. JNDI SPI(서비스 공급자 인터페이스)는 네이밍 및 디렉토리 서비스가 JNDI 프레임워크에 통합되는 수단을 제공합니다. 디렉토리에 연결하려면 JNDI 어댑터에 적절한 JNDI 서비스 공급자가 필요합니다.
다음 섹션에서는 JNDI 어댑터 엔트리를 작성하고 사용자 및 그룹 등록 정보의 기본 매핑을 구성하는 방법에 대해 설명합니다. JNDI 어댑터 엔트리 구성 및 어댑터 등록 정보 전체 설명에 대한 자세한 내용은 JNDI Adapter Guide(JNDI 어댑터 안내서) 단원을 참조하십시오. LDAP 엔트리를 작성하는 방법은 LDAP 설정 입력을 참조하십시오.
다음 단원에서는 JNDI 어댑터 엔트리를 작성하고 사용자 및 그룹 등록 정보에 대한 기본 매핑을 구성하는 방법을 설명합니다. JNDI 어댑터 엔트리 구성 및 어댑터 등록 정보 전체 설명에 대한 자세한 내용은 JNDI Adapter Guide(JNDI 어댑터 안내서) 단원을 참조하십시오. LDAP 엔트리를 작성하는 방법은 Windchill 도움말 센터의 "LDAP 설정 입력" 단원을 참조하십시오.
JNDI 구성 프로세스는 기본적으로 다음 두 가지 기본 단계로 구성됩니다.
1. JNDI 어댑터 엔트리 작성
2. 추가 등록 정보 설정
JNDI 어댑터 엔트리 작성
어댑터 등록 정보는 Info*Engine 어댑터 LDAP 엔트리의 속성으로 유지됩니다. Info*Engine 등록 정보 관리 유틸리티를 사용하여 Info*Engine 어댑터 LDAP 엔트리를 추가하거나 수정합니다. 사이트 > 유틸리티로 이동하여 Info*Engine 관리를 클릭하면 등록 정보 관리 유틸리티에 액세스할 수 있습니다.
어댑터 서비스 LDAP 엔트리를 새로 작성하려면 등록 정보 관리 기본 페이지의 엔트리 작성 드롭다운 메뉴에서 JNDI 어댑터Info*Engine를 선택합니다. 양식에 값을 입력합니다. 양식의 필수 필드에는 별표(*)가 표시되어 있습니다.
Info*Engine 등록 정보 관리 유틸리티 사용에 대한 자세한 내용은 등록 정보 관리 기본 페이지를 참조하십시오.
모든 어댑터 LDAP 엔트리 양식에는 다음 필드가 포함되어 있습니다.
서비스 이름
구분 이름
런타임 서비스 이름
등록 정보 관리 유틸리티는 서비스 이름, 구분 이름런타임 서비스 이름 필드를 제안된 이름으로 자동으로 채웁니다. 이러한 이름은 관리 유틸리티에 로그온할 때 입력한 정보 및 양식에 저장된 정보를 기반으로 합니다.
서비스 이름 - 고유한 이름인지 확인합니다. 새 이름을 입력하는 경우 아래 설명된 대로 마침표 문자(".")를 사용할 때 특히 주의해야 합니다.
구분 이름 - 등록 정보 관리 유틸리티에서 제안된 이름을 사용합니다. 새 서비스 이름을 입력하면 구분 이름 필드가 업데이트됩니다.
런타임 서비스 이름 - 이 이름은 서비스 이름과 같아야 합니다.
사이트 LDAP 엔트리에 대해 설정된 조건과 일치하도록 이러한 이름을 변경할 수 있습니다. 그러나 새 JNDI 어댑터의 이름을 지정할 때 마침표 문자(".")는 고유한 의미를 갖습니다. 마침표 문자(".")를 포함하면 해당 저장소 정의에 사용해야 하는 이름의 형식에 영향을 줍니다.
대부분의 저장소 이름과 저장소 유형은 계층 구조를 지정하며 값이 인터넷 도메인 형식이어야 합니다. 따라서 Info*Engine 어댑터에는 일반적으로 이 어댑터가 배포된 네트워크와의 관계를 반영하는 이름이 지정됩니다. 예:
com.company.host.Ldap
이 서비스 이름에는 마침표 문자(".")가 포함되어 있으므로 새 저장소 정의를 작성하고 이름을 지정할 때 이름의 각 부분을 반대로 전환해야 합니다. 따라서 JNDI 어댑터 com.company.host.Ldap의 이름을 지정하는 경우 해당 Info*Engine 저장소의 이름은 다음과 같아야 합니다.
Ldap.host.company.com
이를 방지하려면 마침표 문자(".")를 포함하지 않는 어댑터 이름을 입력합니다. 예를 들어, JNDI 어댑터 EnterpriseDirectory1의 이름을 지정하는 경우 해당 저장소 정의의 이름도 EnterpriseDirectory1로 지정합니다. 새 저장소 정의를 작성하는 방법에 대한 지침은 저장소 정의 작성을 참조하십시오.
* 
이러한 이름 규약 요구 사항은 사용자 및 그룹 정보를 유지하는 LDAP 디렉토리 서비스에 Windchill을 연결하는 경우에만 필요합니다. 다른 Info*Engine 통합 구성에서는 이러한 요구 사항이 필요 없습니다.
서비스 클래스
서비스 클래스 등록 정보는 어댑터의 Java 클래스를 식별합니다. 등록 정보 관리 유틸리티에서 제공된 기본값을 사용합니다.
직렬화 유형
호스트
포트
공급자 URL
엔터프라이즈 디렉토리 서버 액세스에 사용할 URL을 지정합니다.
검색 기준
모든 사용자 정보가 있는 LDAP 노드의 구분 이름을 지정합니다. 모든 사용자 검색에서 이 노드를 베이스로 사용합니다.
디렉토리 시스템 에이전트 사용자
디렉토리 시스템 에이전트 자격 증명
엔터프라이즈 디렉토리에 액세스하는 Windchill 사용자의 구분 이름과 암호를 정의하는 데 사용할 수 있습니다. 그러나 이러한 필드는 비워 두고 MapCredentials 파일을 대신 사용하는 것이 좋습니다. 자세한 내용은 MapCredentials.xml 파일에 인증 설정을 참조하십시오.
직렬화 유형
호스트
포트
특별한 이유가 없는 한 다른 필드는 모두 비워 두어야 합니다.
다음 옵션을 사용하여 나머지 어댑터 등록 정보에 대한 자세한 내용을 확인할 수 있습니다.
등록 정보 이름 위에 커서를 놓아 해당 등록 정보에 대한 간단한 설명을 표시합니다.
등록 정보 이름을 클릭하여 각 등록 정보를 설명하는 페이지를 엽니다.
양식에 제공된 도움말 링크를 클릭합니다.
JNDI 어댑터 등록 정보를 참조하십시오.
추가 등록 정보 설정
엔터프라이즈 디렉토리 속성과 Windchill 속성을 비교하여 차이점이 어디에 있는지 확인합니다. Windchill 사용자 및 그룹 속성은 사용자 및 그룹 LDAP 속성 값 매핑에 설명되어 있습니다. 속성 정의를 비교할 때 이 정보를 사용합니다.
양식에 등록 정보가 정의되어 있지 않은 경우 추가 등록 정보 필드에 등록 정보를 추가할 수 있습니다. 추가 등록 정보를 추가할 때 등록 정보 이름은 어댑터 엔트리 이름(LDAP 엔트리 양식의 서비스 이름 필드 값) 뒤에 등록 정보 이름을 추가하여 구성됩니다. 예:
<service_name>.pageSize
필요한 경우 다음과 같은 추가 등록 정보를 설정합니다. LDAP 엔트리 양식의 추가 등록 정보 필드를 사용하여 등록 정보를 추가할 수 있습니다.
windchill.config.readOnly
Windchill을 통해 디렉토리를 수정할 수 없음을 나타내려면 이 등록 정보를 TRUE로 설정합니다. 그렇지 않으면 등록 정보가 필요하지 않거나 FALSE로 설정할 수 있습니다.
windchill.config.doesNotContainGroups
디렉토리에 그룹이 포함되어 있지 않으며 그룹을 검색하면 안 됨을 나타내려면 이 등록 정보를 TRUE로 설정합니다. 그렇지 않으면 등록 정보가 필요하지 않거나 FALSE로 설정할 수 있습니다.
windchill.config.directoryType
이 등록 정보는 Microsoft Active Directory를 사용할 때만 필요하며, 그렇지 않으면 무시합니다.
이 등록 정보를 설정하면 Microsoft Active Directory와 고유하게 호환되는 방식으로 일부 요청을 처리하라는 메시지가 어댑터에 표시됩니다.
<service_name>.windchill.config.directoryType=ADS
이 등록 정보를 설정하면 페이징된 검색을 자동으로 사용할 수 있습니다. 페이징된 검색을 구성하려면 pageSizepagedSizeLimit 등록 정보를 사용합니다. 자세한 내용은 JNDI 어댑터 등록 정보를 참조하십시오.
* 
임의 디렉토리 유형에 대해 페이징된 검색을 구성할 수 있지만 Microsoft Active Directory를 사용할 때만 기본적으로 사용할 수 있습니다. 다른 디렉토리 유형에 대해 페이징된 검색을 사용하려면 pageSize 등록 정보를 설정합니다.
windchill.mapping.user.attributes
Windchill 및 참여자 캐시에서 사용 가능한 LDAP 속성을 지정합니다. 예를 들어 Windchill에서 액세스하는 일반적인 속성은 다음과 같습니다.
user.getAttributes().get(“<LDAP-attribute-name>”);
속성을 쉼표로 구분된 목록으로 입력합니다.
windchill.mapping.usersOrganizationName
사용자에게 조직 이름을 지정하는 두 가지 방법이 있습니다. 조직 이름이 지정되지 않은 사용자는 하위 컨텍스트(예: 제품, 프로젝트 및 라이브러리)의 데이터에 액세스할 수 없습니다. 사용 방법은 여러 조직을 식별해야 할지 여부에 따라 달라집니다.
시스템에 여러 조직이 있고 각 조직에 다른 사용자 세트를 연관시켜야 하는 경우 디렉토리 서버의 각 사용자 엔트리에 조직 속성을 지정할 수 있습니다. 조직 속성에 지정되는 값은 Windchill에서 사용자가 지정된 조직입니다.
기본적으로 Windchill은 사용자의 조직 이름을 조회할 때 디렉토리 서버의 o 속성을 확인합니다. 디렉토리 서버가 o 속성을 사용하지 않는 경우 다음 등록 정보를 사용하여 조직 이름과 연관시킬 속성을 정의해야 합니다.
<service_name>.windchill.mapping.user.o=<organization_attribute_name>
여기서 <service_name>은 어댑터의 서비스 이름이고 <organization_attribute_name>은 사용자를 조직 이름과 연관시키는 데 사용된 디렉토리 서버의 속성입니다.
JNDI 어댑터를 통해 액세스한 모든 사용자가 동일한 조직에 속해 있는 경우 usersOrganizationName 등록 정보를 추가하여 사용자의 조직 이름을 지정할 수 있습니다.
<service_name>.windchill.mapping.usersOrganizationName=<organization_name>
이 등록 정보에 설정한 값은 이 어댑터를 통해 액세스한 모든 사용자에게 지정되는 조직 이름을 나타냅니다.
이 등록 정보를 사용하면 디렉토리 서버의 사용자 엔트리에서 정의된 조직 속성이 무시됩니다. usersOrganizationName 등록 정보의 값만 Windchill에서 사용됩니다. 자세한 내용은 데이터에 대한 사용자 액세스 관리를 참조하십시오.
속성 값을 매핑하는 방법에 대한 자세한 내용은 사용자 및 그룹 LDAP 속성 값 매핑을 참조하십시오.