Caros, bom dia.
Como faço para obter o usuário logado no domínio numa aplicação WEB (servlet).
Tenho uma aplicação J2EE que está no JBoss e este está utilizando o IIS 6.0 (Windows 2003).
O que pretendo é que quando o usuário ligar a sua estação, logar no domínio e acessar a minha aplicação (com o Internet Explorer). Na primeira requisição, eu precisaria que a minha aplicação pegasse o usuário (se possível também a senha) que foi logado no domínio. A minha aplicação já conecta no Active Directory para validar usuário e senha. O que preciso é que a aplicação pegue automaticamente o usuário logado no domínio e entre logue direto na aplicação. Ou seja, quero SSO (Single Sign On) de IIS 6.0, Internet Explorer, JBoss (integrado com IIS com o Jakarta Isapi Redirector)
Existe alguma biblioteca (de preferência open source) que facilite a implementação disto?
Olá Henrique.
Espero que esta aplicação te auxilie. http://waffle.codeplex.com. Utiliza NTLM para IE, e para padrão Mozilla, solicita usuário e senha.
Abraços
Boa tarde Henrique,
Estou com o mesmo problema que você, porém em ambiente diferente. Preciso logar um aplicativo web em java com o usuário e senha do AD.
Estarei tentando encontrar uma solução também, mas se conseguir evoluir me avise, pois farei o mesmo.
Fica com Deus.
CAros, bom dia.
Consegui resolver o problema de obter o usuário logado no domínio.
Eu modifico no IIS o site o qual aponta minha aplicação web java (uso o jakarta isapi redirector) para utilizar autenticação integrada e desmarco o login anonimo.
Instalo o filtro Isapi Rewrite o utilizo o seguinte arquivo de configuração :
RewriteEngine on
RewriteCond %{AUTH_TYPE} (.)
RewriteHeader SERVER_VARIABLE_AUTH_TYPE: . %1
RewriteCond %{AUTH_USER} (.)
RewriteHeader SERVER_VARIABLE_AUTH_USER: . %1
RewriteCond %{LOGON_USER} (.)
RewriteHeader SERVER_VARIABLE_LOGON_USER: . %1
RewriteCond %{REMOTE_USER} (.)
RewriteHeader SERVER_VARIABLE_REMOTE_USER: . %1
O truque é passar os SERVER_VARIABLES (coisa do ASP) para o java, e o Isapi Rewrite o faz, colocando-os como headers.
O waffle funciona também, mas a solução acima foi a que melhor se adaptou para as minhas necessidades.
OBrigado a todos.