Autenticação de usuários + integração sistemas

Pessoal,
temos numa empresa vários sistemas rodando, alguns desenvolvidos por nós, outros por terceiros. Os sistemas da empresa foram desenvolvidos com VB, Delphi, OpenROAD e Java, e como banco de dados temos PostgreSQL, SQLServer e Ingres.

Com essa diversidade de sistemas temos obviamente problemas com autenticação de usuários, pois os mesmos devem ser cadastrados em todos os sistemas com os mesmos dados, principalmente login e senha. Com isso também temos a informação de usuários duplicada e fica difícil de manter uma integração entre essas informações, haja vista que o cadastro deveria ser o mesmo em todos os sistemas. Temos um mecanismo que replica as informações para os demais sistemas a partir de sua origem, mas esta não está sendo uma forma muito adequada de fazer isso, além de ser complexa a manutenção.

Estamos agora tentando desenvolver um Projeto onde a autenticação seria feita em um ponto único e todos os sistemas fariam sua autenticação por lá e a partir deta base de autenticação saberia os usuário interno do sistema, banco de dados, etc. Ainda não começamos o projeto, por isso queria saber se alguém já passou por situação semelhante ou tem algum material para me recomendar.

Valeu!

Minha sugestão é voce usar LDAP e/ou Kerberos
Autenticação segura e simples.
Com kerberos é uma piada fazer oque voce quer.

Estamos fazendo uns testes com ldap…
O que eu não estou conseguindo enxergar direito é como fazer o cadastro dos usuários em um ponto somente, para que, por exemplo ele tenha o mesmo código em todos os sistemas, e também possamos identificar que o usuário x do sistema y é o mesmo que o x do sistema z.

Pensamos em armazenar as informação básicas nesta base de autenticação (código, nome, login, senha, endereço, …). Lembrando que essa base deve ser acessível de todos os sistemas já existentes (VB, Delphi, OpenROAD, Java). Os novos sistemas estão sendo desenvolvidos em Java… Além disso quando o usuário se autentica ele deve ter permissões de acesso somente nos sistemas que lhe competem…

Valeu pela resposta…

Hmm, faz da maneira mais comum quando se trabalha com ldap.

teus usuarios ficam em “ou=users, dc=guj.com.br” (vale lembrar que voce não pode usar esse dc se tiver trabalhando com DAP). teus grupos ficam em “ou=groups, dc=guj.com.br”.

Autenticação é a parte boba, simplesmente de bind usando o nome do usuario como parte do bind dn, ou seja, os sistemas tentanriam dar bind em “cn=louds,ou=users, dc=guj.com.br” para me autenticar. Depois disso só pegar as permissões e pronto…

O sistema autentica, nesse caso, contra o campo ‘userPassword’ de “ou=users, dc=guj.com.br”, que pode guardar minha senha em plain-text ou com algum secure hash (md5/sha1).

Usa o schema de nis que vem com o openldap, so criar usando posixAccount que não tem rolo.

Era isso ou viajei d+?

A Sun possui um produto SHOW DE BOLA na linha dos Servicos de Diretorios que autentica o usuario até no CEU ou no INFERNO…

Sun One Directory Server, Sun One Meta Directory e Sun One Identity Server

De um olhada aqui…

http://wwws.sun.com/software/product_categories/directory_servers_identity_mgmt.html

[]'s

De uma olhada aqui… Vai ajuda-lo a desenhar esses modelos de integracao…

http://developer.java.sun.com/developer/technicalArticles/Security/jaasv2/

[]'s

[quote=“ozielneto”]A Sun possui um produto SHOW DE BOLA na linha dos Servicos de Diretorios que autentica o usuario até no CEU ou no INFERNO…

Sun One Directory Server, Sun One Meta Directory e Sun One Identity Server

De um olhada aqui…

http://wwws.sun.com/software/product_categories/directory_servers_identity_mgmt.html

[]'s[/quote]

Voce gosta mesmo da Sun hein! Pena que o produto eh pago. Parece ser baum. Eu ficaria com OpenLdap mesmo.

Não falo pelos outros produtos que o Oziel comentou, porem não recomendo a ninguém utilizar o servidor de ldap da Sun. Ele vem do IPlanet Directory Server, que era tremenda porcaria.
Talvez, quem sabe, todo lixo herdado tenha sido eliminado nas últimas versões, mas ate o 5.0 era 1 tranquera.

[quote=“louds”]Não falo pelos outros produtos que o Oziel comentou, porem não recomendo a ninguém utilizar o servidor de ldap da Sun. Ele vem do IPlanet Directory Server, que era tremenda porcaria.
Talvez, quem sabe, todo lixo herdado tenha sido eliminado nas últimas versões, mas ate o 5.0 era 1 tranquera.[/quote]

Voce conhece algum open melhor que OpenLdap? Achei que este era meio “imbativel”.

Eu uso o OpenLDAP mesmo, ele é meio sacal de configurar para funcionar rápido, mas nunca tive problemas sérios com ele.

Eu tb detestava o iPlanet em todos os sentidos. O SUn One Directory Server deu uma melhorada na GUI, e nao tem mais bugs relacionados ao uso do mouse, nem text fields que perdem espontaneamente seu conteudo.

Mas a extrutura dos nós da árvore, tadinha, veio do Netscape iPlanet. isso significa que muitos tipos tem ns no nome: nsObject, nsUser, e bla bla bla. E tem umas falhinhas (qq eles podem fazer? Agora nao dá pra mudar), nos quesitos OnceAndOnlyOnce e com Yagni tb.

Entre um software com esse preco, e considerando o tempo que leva pra montar um sistema de autenticacao em cima, prefiro qq coisa Open tb.

Nunca usei o Identity, talvez por causa dos problemas com o ldap eles tenham colocado uma solucao Enterprise em cima. Como o Portal Builder (outra ECA) usa o LDAP direto, nunca precisei.

[]s

louds…

Me desculpe, mas o iDs ou o S1DS não é uma ECA como você falou. Acho melhor você pesquisar mais …

Realmente, a GUI Administrativa (iPlanet Console) tem alguns BUGs que foram corrigidos nos patchs distribuidos pela Sun para os compradores…

Em termos de performance, um grande provedor internet faz aprox. 8 milhoes de autenticação/hora no horário de pico usando uma software-clustered de iDS4.1…

No S1DS 5.2, é possível se construir um cluster, com mult-masters e mult-backups, garantindo 100% de disponibilidade…

Realmente, para projetos sem BID, o OpenLDAP é uma boa solução. Entretanto, se a empresa tem uma administração de TI séria, ela vai procurar um produto robusto, confiável, com suporte técnico e contrato, para assegurar a saúde dos sistemas e financeira da empresa…

O Trio, Directory, Meta Directory e Identity, formam um ambiente de manutenção e autenticação único de usuários para qualquer tipo de SO, Aplicação ou Portal.

Bom estudo.

[quote=“ozielneto”]Realmente, para projetos sem BID, o OpenLDAP é uma boa solução. Entretanto, se a empresa tem uma administração de TI séria, ela vai procurar um produto robusto, confiável, com suporte técnico e contrato, para assegurar a saúde dos sistemas e financeira da empresa…
[/quote]

:?:BID:?: what’s that?

Nao entendi direito o que voce quis dizer. O OpenLDAP nao eh um produto robusto e confiavel e nao possui suporte tecnico ou nao possui um contrato que garanta a confiabilidade, robustes e suporte?

No BID = No Money = Para Pobres Demonios sem Suporte e sem Suporte.

[]'s