Autenticação com LDAP  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
furutani
JWizard
[Avatar]

Membro desde: 11/10/2003 23:58:51
Mensagens: 2995
Localização: Iacri-SP e São Paulo-SP
Offline

Olá GUJ!

Eu tenho algumas dúvidas sobre o uso do LDAP.

1. É possivel usar o LDAP para definir níveis de permissões de acesso? Como?
2. Alguém já fez Sigle Sign-On (em aplicação Web) com Oracle, JASS e LDAP e tem algum material para me passar?

Obrigado

Até mais,
Roberto Jundi Furutani


Sun Certified Business Component Developer 1.3
Sun Certified Web Component Developer
Sun Certified Java Programmer
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0

[WWW]
ASOBrasil
JavaEvangelist
[Avatar]

Membro desde: 25/06/2005 20:57:30
Mensagens: 402
Localização: São Paulo
Offline

furutani,

Trabalho com OpenLdap mas é só para autenticação simples mesmo, infelizmente não vou pode ajudar com suas dúvidas. Mas segue 2 links que uso com referência:

http://www.ldapguru.com/
http://www.openldap.org/


ASOBrasil

Java Examples || Useful links for web developer
[Email]
furutani
JWizard
[Avatar]

Membro desde: 11/10/2003 23:58:51
Mensagens: 2995
Localização: Iacri-SP e São Paulo-SP
Offline

Olá ASOBrasil,

Para fazer autenticação simples não vejo grandes dificuldades, o problema mesmo é o esquema de permissões.

Obrigado

Até mais,
Roberto Jundi Furutani


Sun Certified Business Component Developer 1.3
Sun Certified Web Component Developer
Sun Certified Java Programmer
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0

[WWW]
soaresinfo
JavaEvangelist
[Avatar]

Membro desde: 27/07/2003 15:40:13
Mensagens: 373
Localização: Uberlândia/MG
Offline

Sim, é possível fazer controle de nível de acesso. Eu utilizo grupos do notes para definir os níveis. Tenho isso feito utilizando jboss e struts. Posso te passar o código que utilizei no login-config.xml e no web.xml, outro código não tenho permissão de ceder.

Sobre single sign-on, não sei como isso funciona, poderia explicar?

Anuncie aqui!
furutani
JWizard
[Avatar]

Membro desde: 11/10/2003 23:58:51
Mensagens: 2995
Localização: Iacri-SP e São Paulo-SP
Offline

soaresinfo wrote:Sim, é possível fazer controle de nível de acesso. Eu utilizo grupos do notes para definir os níveis. Tenho isso feito utilizando jboss e struts. Posso te passar o código que utilizei no login-config.xml e no web.xml, outro código não tenho permissão de ceder.


Se você puder me passar eu agradeceria.
O que faz esse outro código?


soaresinfo wrote:
Sobre single sign-on, não sei como isso funciona, poderia explicar?

É uma tecnica onde o usuário se autentica em apenas um lugar e todos os outros serviços usam essa autenticação, assim o usuario não precisa ficar digitando a senha para cada serviço.
No wikipedia tem uma descrição mais detalhada.
No meu caso eu precisava fazer isso com oracle, pois usuário que vai logar na aplicação web deve ser o mesmo usuário do banco.

Obrigado

Até mais,
Roberto Jundi Furutani


Sun Certified Business Component Developer 1.3
Sun Certified Web Component Developer
Sun Certified Java Programmer
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0

[WWW]
soaresinfo
JavaEvangelist
[Avatar]

Membro desde: 27/07/2003 15:40:13
Mensagens: 373
Localização: Uberlândia/MG
Offline

Esse aqui é o código no login-config.xml


Modifiquei o código em ctxSearchUserForRole, pois depende da configuração do notes na empresa. O código que te falei que não podia passar é a item OpenLdapNotesModule, essa classe estende a classe LdapLoginModule do jboss, na verdade ele é só um backup caso a configurações acima falhem.
Configurando o web.xml:

**Coloque o nome do realm do login-config

Agora para definir o nível de acesso das páginas eu utilizei as seguintes configurações no web.xml, eu escrevo uma definição para cada grupo do notes como segue exemplo:


Para definir quem pode acessar cada página, coloque uma definição para cada action (suponho que uma action faz uma funcionalidade completa independente de quantas páginas use):

Anuncie aqui!
J.E.Z
JavaBaby
[Avatar]

Membro desde: 27/03/2006 14:27:52
Mensagens: 87
Offline

Apesar do topico ja ser antigo e eu estar ressucitando.

SIM é possível essa solução. Ja utilizei o sistema de login baseado em JAAS e ja implementado pela maioria dos AS que conheço. Ja utilizei e testei no tomcat um sistema conectando ao OpenLDAP e com diversos níveis de permissão. Outra característica foi a implementação do Single Sign On, que é bem fácil de ser implementado no tomcat.

Creio que o link abaixo possa ajudar:

Tutorial tomcat + openLDAP
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline

Eu acabei implementando na mão tanto a autenticação quanto o controle de permissões através de grupos.
Foi bem mais traalhoso que usar o AS, mas ficou um tanto mais flexível aos sistemas internos aqui.

------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."

http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
[Email]
J.E.Z
JavaBaby
[Avatar]

Membro desde: 27/03/2006 14:27:52
Mensagens: 87
Offline

Rafael Nunes wrote:Eu acabei implementando na mão tanto a autenticação quanto o controle de permissões através de grupos.
Foi bem mais traalhoso que usar o AS, mas ficou um tanto mais flexível aos sistemas internos aqui.


É da mais trabalho mesmo, porem consegue atender a necessidades específicas. Mas na maioria do caso o módulo dos ASs dão conta do recado e ganham bastante tempo.

Em geral o desenvolvimento de sistemas de autenticação baseado em JAAS além de ser padrão é bem mais ágil e flexível que os outros, seja ele o do AS, uma versão customizada ou mista. Não sei porque só a minoria das pessoas usam.
souzatg
HelloWorld

Membro desde: 17/05/2006 10:01:08
Mensagens: 11
Localização: São Paulo SP
Offline

J.E.Z wrote:
Em geral o desenvolvimento de sistemas de autenticação baseado em JAAS além de ser padrão é bem mais ágil e flexível que os outros, seja ele o do AS, uma versão customizada ou mista. Não sei porque só a minoria das pessoas usam.


Para mostrar uma outra visão interessante também: J2EE Security: Container versus Custom

Tem colocações muito pertinentes nesse artigo... Estou em um projeto de Single Sign-On para aplicações Java e sofremos um diabo com esse JAAS, tanto que abandonamos para fazer da maneira Custom... é mais trabalhoso mas o JAAS nao dá conta da flexibilidade necessária no nosso caso.

Valeu!
Abs

Thiago Souza
[Yahoo!] [MSN]
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline

Os dois principais problemas que me fizeram desistir do JAAS foi a falta de flexibilidade para diversos cenários que eu tenho e também replicação em clusters e tiers diferentes.

------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."

http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
[Email]
andre_salvati
GUJ Ranger

Membro desde: 02/06/2005 16:28:38
Mensagens: 939
Offline

souzatg wrote:
Para mostrar uma outra visão interessante também: J2EE Security: Container versus Custom


Não entendi. No final ele conclui que há espaço para autenticação por container (ou JAAS), ou seja, ele não descarta JAAS.

artigo wrote:
Large enterprise applications should consider using container security for a variety of reasons. The main reason being that allowing unchecked access to data can be dangerous. Attempting to control all access using custom security can be quite a task, especially as applications grow and development teams expand. For this reason and the heavy commitment by large enterprise applications to their vendors, container security is more viable.


souzatg wrote:
Tem colocações muito pertinentes nesse artigo... Estou em um projeto de Single Sign-On para aplicações Java e sofremos um diabo com esse JAAS, tanto que abandonamos para fazer da maneira Custom... é mais trabalhoso mas o JAAS nao dá conta da flexibilidade necessária no nosso caso.


Pq sofreu!? Qual a necessidade que vc tinha que JAAS não atendia!?

Ajude na criação do StackOverflow em português!!!

http://area51.stackexchange.com/proposals/23539/software-development-in-portuguese?referrer=tI8Uon7RDszY236h5e0UuA2


http://www.empresadigital.inf.br
http://twitter.com/afsalvati
souzatg
HelloWorld

Membro desde: 17/05/2006 10:01:08
Mensagens: 11
Localização: São Paulo SP
Offline


Taz wrote:
Não entendi. No final ele conclui que há espaço para autenticação por container (ou JAAS), ou seja, ele não descarta JAAS.


Taz, eu nao disse que JAAS é descartável... é que no outro post a galera disse "não sei porque tem gente que nao usa JAAS"... essa é uma visão que o artigo citado contraria, dizendo que tanto a autenticação via container e a customizada tem seu espaço.

Taz wrote:
Pq sofreu!? Qual a necessidade que vc tinha que JAAS não atendia!?


Uma série de coisas cara... a primeira delas foi que o Web Service que autentica (e que portanto devia ser chamado do método login()) não se contenta com nome e senha, precisa também do nome do usuário logado atualmente na máquina (que pode ser diferente do informado no form de login) e o domínio Windows do mesmo, além do IP da máquina cliente. O JAAS para J2EE só possui nativamente o NameCallback e PasswordCallback, o que me quebrou as pernas... consegui dar uma volta nele usando o JAZNContextCallback que é proprietário da Oracle no servidor dela, o OC4J, e acabei conseguindo o IP, mas o resto necas...
Outra coisa que nao consegui foi empacotar a implementação do JAAS com a aplicação, já que os meus servidores ficam todos nos Estados Unidos, e não temos acesso para instalar o LoginModule localmente, precisamos que cada aplicação mande o LoginModule no WEB-INF/lib. Neste caso, tomei um pau feio dos descritores da Oracle, o orion-application.xml e o jazn-data.xml... não faz deploy nem com reza.

Abraços!

Thiago Souza
[Yahoo!] [MSN]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team