Fixpack 8.5.5.2 or later

Propriedades customizadas do gerenciador de membro virtual

Propriedades customizadas são usadas para configurar definições avançadas que fornecem algumas funções adicionais no repositório federado.

preFetchData

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
O valor válido para esta propriedade contém pares de nomes de tipo de entidade e seus conjuntos de atributos correspondentes. O valor para a propriedade deve ser definido no seguinte formato:
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:

Use o comando setIdMgrCustomProperty para definir a propriedade preFetchData no repositório LDAP federado.
$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”}
A amostra a seguir mostra a configuração de repositório LDAP com a propriedade preFetchData:
<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>
Veja aqui alguns cenários mostrando o fluxo de controle baseado em valores configurados para a propriedade preFetchData:
  • Cenário 1: Efetuar login como usuário user1 com o valor da propriedade customizada preFetchData configurado como: PersonAccount:sn;Group:cn

    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.

  • Cenário 2: Recuperar um grupo com o valor da propriedade customizada preFetchData configurado como: Group:cn

    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.

domainNameForAutomaticDiscoveryOfLDAPServers

É 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.

É possível definir o nome de domínio do LDAP para o qual servidores LDAP correspondentes estão definidos no arquivo de configuração DNS correspondente em forma de registros SRV, conforme mostrado nos exemplos a seguir:
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>}

Exemplo:
$AdminTask setIdMgrCustomProperty {-id LDAP1 -name domainNameForAutomaticDiscoveryOfLDAPServers -value “dc=ibm,dc=com”}
A amostra a seguir mostra uma configuração de repositório LDAP com a propriedade domainNameForAutomaticDiscoveryOfLDAPServers:
<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.

minimizeContextPoolThreadBlock

A propriedade customizada minimizeContextPoolThreadBlock é usada para definir o comportamento de bloqueio de encadeamento quando um servidor LDAP está inativo e é feita uma tentativa de leitura a partir do servidor. Quando o valor da propriedade é configurado para true, apenas um número mínimo de encadeamentos é bloqueado na operação de leitura e o restante dos encadeamentos falha imediatamente sem esperar. Se a propriedade for configurada para false, cada encadeamento que faz as solicitações de leitura será bloqueado até que um contexto seja criado para o LDAP solicitado ou até que uma criação de contexto atinja o tempo limite. O tempo padrão para a criação de contexto é de 120 segundos.
Informações Valor
Tipo de dados Booleano
Padrão True

maxThreadsToBlock

A propriedade maxThreadsToBlock é usada junto com a propriedade minimizeContextPoolThreadBlock. Quando a propriedade minimizeContextPoolThreadBlock é configurada para true, maxThreadsToBlock determina o número máximo de encadeamentos que devem ser bloqueados quando uma operação de leitura LDAP é executada.
Informações Valor
Tipo de dados Número Inteiro
Padrão 5

bindTimeout

A propriedade customizada bindTimeout especifica o tempo levado para controlar a contagem de ligações quick em milliseconds. Todas as ligações que demorarem mais do que o tempo especificado serão incluídas no log se o log de rastreio estiver ativado.
Informações Valor
Tipo de dados Milissegundos
Padrão 1000


Termos de uso | Feedback