Propriedades customizadas são usadas para configurar definições avançadas que fornecem algumas funções adicionais no repositório federado.
A propriedade customizada preFetchData é incluída para suportar a pré-busca e o armazenamento em cache de um conjunto de atributos para um tipo de entidade de usuário ou grupo para o repositório LDAP. Usando esta propriedade, é possível definir a lista de atributos que você deseja pré-buscar e armazenar em cache permanentemente para um determinado tipo de entidade de usuário ou grupo.
Informações | Valor |
---|---|
Tipo de dados | Sequência |
Valores válidos | Sequência contendo pares de nomes de tipo de entidade e seu conjunto de atributos |
EntityType1:attribute1,attribute2;EntityType2:attribute1,attribute2
Se o formato ou valor especificado para os atributos não estiver correto, talvez você veja uma exceção, semelhante aos exemplos a seguir:
com.ibm.websphere.wim.exception.WIMConfigurationException:
CWWIM1043E: O formato do valor da propriedade 'preFetchData' não é válido. Especifique um valor válido, por exemplo, "PersonAccount:sn,mail;Group:cn,description".
com.ibm.websphere.wim.exception.WIMConfigurationException:
CWWIM5068E: O tipo de entidade 'abc' não é válido.
em que abc é o nome do tipo de entidade inválido que é fornecido na configuração da propriedade preFetchData. A mensagem é exibida com o nome do tipo de entidade configurado.com.ibm.websphere.wim.exception.WIMConfigurationException:
CWWIM4516E A propriedade 'uid1' não é definida para o tipo de entidade 'Grupo'.
em que uid1 é o nome da propriedade inválido do tipo de entidade de grupo que é fornecido na configuração da propriedade preFetchData.
A mensagem é exibida com a propriedade e os nomes de tipo de entidade conforme configurado.$AdminTask setIdMgrCustomProperty {-id <ldap_repository_name> -name <property_name> -value <value>}
Por exemplo: $AdminTask setIdMgrCustomProperty {-id LDAP1 -name
preFetchData -value “PersonAccount:sn,cn,givenName,displayName,preferredLanguage;Group:cn,description”}<config:repositories xsi:type="config:LdapRepositoryType" adapterClassName="com.ibm.ws.wim.adapter.ldap.LdapAdapter"
id="LDAP1" isExtIdUnique="true" supportAsyncMode="false" supportExternalName="false"
supportPaging="false" supportSorting="false" supportTransactions="false" certificateFilter=""
certificateMapMode="exactdn" ldapServerType="IDS" translateRDN="false">
<config:baseEntries name="o=ldap" nameInRepository="o=ldap"/>
<config:loginProperties>uid</config:loginProperties>
<config:CustomProperties name="preFetchData" value="PersonAccount:sn,cn,givenName,displayName,preferredLanguage;Group:cn,description"/>
<config:ldapServerConfiguration primaryServerQueryTimeInterval="15" returnToPrimaryServer="true"
sslConfiguration="">
<config:ldapServers authentication="simple" bindDN="cn=root" bindPassword="{xor}LTAwK25tbA=="
connectionPool="false" connectTimeout="0" derefAliases="always" referal="ignore"
sslEnabled="false">
<config:connections host="localhost" port="389"/>
</config:ldapServers>
</config:ldapServerConfiguration>
</config:repositories>
Quando uma operação é executada pela primeira vez para user1, o atributo sn também é recuperado e armazenado em cache junto com a propriedade de login do usuário, embora não haja uma solicitação explícita para sn como parte da consulta. Para grupos que contêm user1 como um membro, o atributo cn é armazenado em cache. Para chamadas subsequentes, os dados a serem recuperados são consultados primeiro no cache, e somente se eles não forem localizados, uma chamada JNDI é feita para o atributo necessário.
Quando uma procura é executada para o grupo g1, o repositório federado recupera e armazena em cache o grupo cn de acordo com a configuração especificada. Se uma chamada subsequente procurar os atributos cn e description, cn será buscado no cache e a chamada JNDI explícita será feita para buscar o grupo description.
É possível usar esta propriedade para localizar qualquer servidor LDAP disponível no tempo de execução definido no arquivo de configuração DNS para o repositório LDAP com relação a um determinado nome de domínio.
Informações | Valor |
---|---|
Tipo de dados | Sequência |
Valores válidos | Nome do domínio para o qual registros de servidor LDAP são definidos no arquivo de configuração DNS |
Além de configurações do servidor principal, também é possível configurar servidores de failover na configuração de repositório LDAP federado. O repositório federado alterna para o servidor de failover se o servidor principal estiver inativo. Se houver vários servidores LDAP com os usuários e grupos definidos para eles, será difícil especificar todos os nomes de servidor LDAP na configuração de repositório LDAP federado. A configuração se torna mais difícil e pode levar mais tempo, caso vários nós estejam configurados no WebSphere Application Server e cada nó esteja configurado com vários LDAPs. Quando houver vários servidores LDAP, use a propriedade domainNameForAutomaticDiscoveryOfLDAPServers para consultar dinamicamente os nomes de servidor LDAP no tempo de execução, independentemente de qual servidor LDAP estiver configurado no repositório LDAP.
ldap._tcp.ibm.com 86400 IN SRV 0 0 389 bigbox.ibm.com
ldap._tcp.ibm.com 86400 IN SRV 10 20 1389 smallbox1.ibm.com
Se a propriedade domainNameForAutomaticDiscoveryOfLDAPServers estiver configurada, o repositório federado procurará servidores LDAP no arquivo de configuração DNS e fará chamadas JNDI subsequentes para esse servidor específico.É possível configurar a propriedade domainNameForAutomaticDiscoveryOfLDAPServers usando o comando setIdMgrCustomProperty: $AdminTask setIdMgrCustomProperty {-id <ldap_repository_name> -name <property_name> -value <value>}
$AdminTask setIdMgrCustomProperty {-id LDAP1 -name domainNameForAutomaticDiscoveryOfLDAPServers -value “dc=ibm,dc=com”}
<config:repositories xsi:type="config:LdapRepositoryType" adapterClassName="com.ibm.ws.wim.adapter.ldap.LdapAdapter"
id="LDAP1" isExtIdUnique="true" supportAsyncMode="false" supportExternalName="false"
supportPaging="false" supportSorting="false" supportTransactions="false" certificateFilter=""
certificateMapMode="exactdn" ldapServerType="IDS" translateRDN="false">
<config:baseEntries name="o=ldap" nameInRepository="o=ldap"/>
<config:loginProperties>uid</config:loginProperties>
<config:CustomProperties name="domainNameForAutomaticDiscoveryOfLDAPServers" value="dc=ibm,dc=com"/>
<config:ldapServerConfiguration primaryServerQueryTimeInterval="15" returnToPrimaryServer="true"
sslConfiguration="">
<config:ldapServers authentication="simple" bindDN="cn=root" bindPassword="{xor}LTAwK25tbA=="
connectionPool="false" connectTimeout="0" derefAliases="always" referal="ignore"
sslEnabled="false">
<config:connections host="localhost" port="389"/>
</config:ldapServers>
</config:ldapServerConfiguration>
</config:repositories>
A propriedade domainNameForAutomaticDiscoveryOfLDAPServers substitui a configuração do servidor LDAP definida no repositório LDAP e recupera o nome do servidor LDAP e o número da porta do arquivo de configuração DNS.A URL do repositório LDAP federado a seguir é gerada e usada para procurar os registros de servidor LDAP: ldap:///dc=ibm,dc=com.
Quando a JNDI recebe a URL como nome de domínio, o servidor LDAP é recuperado do arquivo de configuração DNS. Se um dos servidores LDAP ficar inativo, a JNDI iniciará outro servidor LDAP definido no arquivo de configuração DNS para esse domínio.
Informações | Valor |
---|---|
Tipo de dados | Booleano |
Padrão | True |
Informações | Valor |
---|---|
Tipo de dados | Número Inteiro |
Padrão | 5 |
Informações | Valor |
---|---|
Tipo de dados | Milissegundos |
Padrão | 1000 |