fbpx
+55 (11) 4506-3239

21 dez 2011

Configurando a CUR no WebSphere Portal v7

//
Comments0

Custom User Registry ou CUR como a maioria conhece, é a forma personalizada que existe para ativar a segurança de um servidor WebSphere Application Server quando nenhuma das opções existentes atente a necessidade.
No WebSphere Application Server, existem três formas de segurança.
Standalone LDAP: Esta opção é utilizada apenas quando existe a necessidade de configuração com apenas um servidor de LDAP.
Federated Security: Esta é uma opção mais robusta dando maior vazão quando se trata de conectar o servidor a mais de um servidor de LDAP. No caso do Federated, a configuração ocorre em mais de um servidor de LDAP ou banco de dados. Neste caso, esta opção não dá suporte quando existe a necessidade de se conectar em um ou mais LDAPs ou um ou mais repositórios de Banco de Dados por exemplo. Porém, com esta opção ainda é possível incluir uma configuração personalizada como a CUR.
Custom Security: Esta é uma ótima opção quando existe a necessidade de desenvolver uma segurança personalizada. Quando nenhuma das duas opções atente a necessidade, é possível criar uma nova segurança e utilizar o custom security. Porém, ao adotar esta opção, não é possível federar outros repositórios, apenas aqueles que estão na CUR.

Quando se trata de CUR, podemos utilizar apenas duas opções sendo “Federated Security e Custom Security”. O Federated Security oferece suporte a custom user registry e não alterando nenhum repositório pré configurado.
Portanto podemos dizer que é possível ter mais de um repositório dentro do Federated Security e incluir um repositório personalizado como a CUR.
No caso do Custom Security, é possível apenas configurar repositórios personalizados o que não gera uma flexibilidade de adicionar repositórios já definidos.
A opção por escrever este post utilizando o Federated Security é exatamente devido à flexibilidade que esta opção oferece. 
Neste exemplo, o servidor WebSphere Portal possui dois repositórios de usuários. Um LDAP e um Banco de Dados. Para que o portal possa identificar estes usuários é necessário antes desenvolver uma CUR (Custom User Registry). Não irei mostrar como desenvolver uma CUR, pois cada situação possui suas particularidades. Mas existem referências de boas práticas que podem servir de auxílio no desenvolvimento.
No site do developerWorks, existe um documento completo que pode auxiliar na criação da CUR. 

Após o término do desenvolvimento da CUR, é hora de iniciar as configurações em um servidor WebSphere. Neste post, as configurações ocorrem em um servidor WebSphere Portal Server v7.

Preparando o ambiente
1 – Instale o WebSphere Portal Server v7. Tenha certeza que o usuário da instalação é diferente do usuário do repositório. Ex: na instalação o usuário é wpsadmin e no repositório o usuário é wpsadmin. Caso os usuários sejam iguais, ocorre a duplicação do “principal name” no momento da federação ao repositório ocasionando o erro abaixo.

CWWIM4538E occurs on login after configuring for federated repository

Para informações sobre como proceder na correção, clique aqui.

Para evitar este problema, instale o WebSphere Portal com um usuário diferente do repositório.

2 – Copie todos os arquivos *.jar utilizados no desenvolvimento para o diretório /opt/IBM/WebSphere/AppServer/lib/ext
Estes arquivos são necessários para o carregamento da CUR.

3 – Edite o arquivo wkplc.properties que se localiza em wp_profile_rootConfigEngineproperties.

4 – Altere as informações abaixo

federated.cur.id=myCustoCur (Neste campo, informe o nome da cur, ex: curComapany)
federated.cur.adapterClassName=br.com.company.dspt.UserRegistryCompany
federated.cur.baseDN=o=default organization (O base DN depende de como foi desenvolvida a CUR. Este tipo de configuração é adequado a cada empresa)
federated.cur.isExtIdUnique=true
federated.cur.supportExternalName=false
federated.cur.supportPaging=false
federated.cur.supportSorting=false
federated.cur.supportTransactions=false

5 – Inicie o WebSphere Portal e execute o comando ./ConfigEngine.sh wp-create-cur

6 – Alterando os usuários administrativos

– Alterar o administrador do Portal

Com esta opção, o usuário administrador do portal e do application server será o usuário pertencente ao repositório.

./ConfigEngine.sh wp-change-portal-admin-user -DnewAdminPw=wpsadmin -DnewAdminId=”uid=wpsadmin,o=default organization” -DnewAdminGroupId=”cn=wpsadmins,o=default organization”

– Alterar o administrador do App Server

./ConfigEngine.sh wp-change-was-admin-user -DnewAdminPw=wpsadmin -DnewAdminId=”uid=wpsadmin,o=default organization”

Após as configurações do novo repositório, não existe mais a necessidade de manter o repositório padrão. Para remover, execute os procedimentos abaixo.

7 – Removendo o repositório padrão

Editar o wkplc.properties

federated.delete.baseentry=o=defaultWIMFileBasedRealm
federated.delete.id=InternalFileRepository
Executar o commando ./ConfigEngine.sh wp-delete-repository