ACTIVE DIRECTORY ASP.NET C#

NAM4 19/02/2013 15:42:27
#419356
Boa tarde a todos, primeiramente gostaria de agradecer a atenção desde já.

Pois bem, estou com uma duvida monstra, eu nunca mexi com AD, e estou desenvolvendo um sistema para minha empresa que precisa integrar o login com o AD. Até ai tudo bem, ja está desenvolvido o sistema, e comecei a integração... A Comunicação está perfeita, ja está logando perfeitamente pelo AD assim como cadastrando.

Minha dúvida é: Como faço pra pagina aspx logar automaticamente no sistema quando o usuario logado no windows for encontrado no AD.

OBS: Meu servidor de APLICAÇÂO é diferente do servidor AD, ou seja, 2 servidores....

a ideia é, o usuario (cliente side) logar no windows (com usuario do AD) e caso acesse o endereço da pagina, ou seja, da aplicação, não necessitar de login e senha novamente, dessa forma pegando o usuario logado no windows.

O Problema é que usei todas as formas que conheço para pegar login de usuario porém todas retornam para mim o usuario logado, porém DO SERVIDOR de aplicação, o que não me adianta, eu teria que pegar o login da parte do client side, ou seja, os usuario do sistema.

Tentei jogar o servidor de aplicação no dominio do AD, foi feito com sucesso, porém quando vou tentar acessar a aplicação dá erro de permissão... lembrando que o servidor AD é diferente do servidor APLICACAO, e no caso o SERVIDOR APLICACAO está conectado no dominio do SERVIDOR AD.

Resumindo. Basicamente preciso que com o usuario logado no windows (usuario do AD), ao abrir a aplicação, automaticamente faça a comparacao do usuario em questão com os usuarios do AD, e caso exista esse usuario, o sistema deixa passar e portanto loga-se no sistema automaticamente sem pedir as credenciais novamente.


Espero mesmo que alguem me ajude pois não tenho mais recursos...


Obrigado!
KERPLUNK 11/03/2013 18:12:18
#420287
1 - Quando o usuário logar na sua página, não há como verificar a identidade do mesmo. Entenda que [Ô]estar em uma página[Ô] significa fazer uma requisição ao IIS, que vai retornar um texto HTML, mas as informações de login do windows, não são enviadas. Se você precisa usar isso, a melhor alternativa é criar um componente local que [Ô]identifica[Ô] a máquina no server, mais ou menos como os [Ô]token[Ô] bancários fazem, mas já adianto que isso é bem complicado de fazer.
2 - Uma alternativa para sua idéia, é criar um atalho especial para cada usuário, contendo alguma variável de request identificando o mesmo como [Ô]usuário da rede[Ô], mas é meio arriscado
3 - Ainda tem a possibilidade de se verificar o IP do requerinte da página, se bate com um determinado range, ainda assim é arriscado...

ALEVALE 12/03/2013 11:12:13
#420304
Kerplunk mas se na página dele ele apenas pegar o usuário logado no momento na estação não daria certo ?

Dai ele verifica se existe esse usuário no domínio.
KERPLUNK 12/03/2013 12:00:03
#420306
Quando rodar localmente, sim funcionaria, mas não esqueça que depois de publicada, a página vai rodar com o usuário que for atribuído no IIS e se tentar fazer isso NO SERVER, vai pegar informações desse usuário. A única maneira de fazer isso é no server, por javascript não tem jeito não. Se tivesse, seria uma tremenda falha de segurança
Faça seu login para responder