Pegar o usuário logado no sistema operacional para fazer um SSO

8 respostas
Rafael_Guerreiro

Gente. Eu sei que não tem nada a ver com frameworks brasileiros, mas eu não consegui encontrar uma solução que não necessite configuração do lado do cliente.

A ideia é que a autenticação do sistema web seja pelo nome do usuário logado na rede.

Sem que ele precise ficar logando duas vezes. Alguém sabe como pode ser feito?

Eu vi sobre um tal de AUTH_USER do asp. É algo assim que eu estava procurando.

Existe, também, alguma forma de saber qual o browser que está executando o meu controller (estive pensando em um interceptor que recebe httpServletRequest) pois eu preciso bloquear todos os browsers diferentes de IE8 ( :? o cliente pediu assim né…)

Obrigado, desde já.

8 Respostas

lele_vader

Você pode pegar o user-agent associado a requisição.

Aqui tem um exemplo que talvez ajude.

http://www.stardeveloper.com/articles/display.html?article=[telefone removido]&page=1

Rafael_Guerreiro

Esse User-Agent trouxe o nome de todos os navegadores conhecidos (Menos o IE…) eu estou usando o chrome…

lele_vader

Roda com o ie e vê se ele mostra o ie

Ataxexe

Apenas lembrando que o user agent pode ser facilmente modificado. No Firefox tem um plugin pra isso, no Dolphin (Android) é nativa a possibilidade de mudar e, com certeza, deve ter mais meios pros outros navegadores.

Ah! No link acima tem um trecho de código onde “msie” se refere ao Internet Explorer.

lele_vader

Se pode ser modificado, tem algum modo de se pegar o browser mesmo se for modificado o user-agent ?

J

Se vc realmente tem essa necessidade precisara de algo rodando no cliente tipo um activex (urgh) ou uma
applet. E algo totalmente garantido nao existira

Mas afinal o requisito e tbem nao deixar burlar o user agent?

Rafael_Guerreiro

Eu posso usar várias coisas para dificultar.

Por exemplo: comentários condicionais de html, um JS perdido que verifica se o browser é ie8, o user-agent…

Mas isso é o de menos. A necessidade mesmo é conseguir pegar o login do usuário da rede, nem que seja com JavaScript, applet :shock:

Ideal mesmo seria com Servlet.

P

O que vc precisa é usar algum produto de SSO(Single Sign-on) existe os gratuitos; CAS e o JOSSO. Além disso a microsoft oferece um recurso(é uma sigla com 4 letras que não lembro) que permite interagir com a identidade de quem logou no micro e esse produtos permitem utilizar esse recurso da Microsoft. Aonde trabalho usamos o CAS mas usando uma tela de login que se autentica apenas 1 vez pra todas as aplicações e o login do CAS busca os dados no AD.

Criado 3 de maio de 2012
Ultima resposta 4 de mai. de 2012
Respostas 8
Participantes 5