Pegando login do usuario no windows

7 respostas
warley

Boa tarde!!!

Alguem sabe como eu faco para pegar o no login de um usuario em pagina JSP???

No asp e’ deste assim:

<%

=Request.ServerVariables(LOGON_USER)

%>

E no JSP?

Obrigado!!!

7 Respostas

T

A resposta mais simples (mas incompleta) é “esquece”.

Na verdade o problema é que normalmente não há o recurso de “Windows Integrated Authentication” nos web servers que rodam Java, por exemplo, o Tomcat. (Na verdade existe um servlet filter para o Tomcat que lhe permitiria fazer isso, mas se você estiver usando ActiveDirectory a história é um pouco diferente).

Para ter algo parecido você precisaria ver se seu web server tem algum módulo que lhe permita fazer essa autenticação (normalmente chamada de NTLM Authentication).

Se você estiver usando Basic ou Digest Authentication, dá para o Tomcat pegar o usuário sem problemas, mas não é o LOGON_USER, e sim o REMOTE_USER (e obviamente você precisa alterar o web.xml para solicitar autenticação de usuário)

Isto é o javadoc de javax.servlet.http.HttpServletRequest, ou seja, dá para você obter o usuário com request.getRemoteUser().
[i]
String getRemoteUser ( )

Returns the login of the user making this request, if the user has been authenticated, or null if the user has not been authenticated.

Whether the user name is sent with each subsequent request depends on the browser and type of authentication. Same as the value of the CGI variable REMOTE_USER.

Returns:
a String specifying the login of the user making this request, or null if the user login is not known
[/i]

A

Opa, dá pra fazer sim… basta:

public class Teste {

    public static void main(String[] args) {
        System.out.println(System.getProperty("user.name"));
    }
}

[]´s

T

Ou seja, se você tiver um applet assinado você até pode pegar o valor da System property “user.name” e postar para a sua página JSP…

warley

valeu galera pelas dicas!

Eu estou fazendo uma tela de login que vai usar o login que foi altenticado pelo windows!

Vou fazer ums teste aqui!

Valeu!

A

thingol,

Nem precisa ser um applet, pode ser um componente normal tbm retornando para jsp…

[]´s

T

allansk:
thingol,

Nem precisa ser um applet, pode ser um componente normal tbm retornando para jsp…

[]´s

Aham, você vai ter sempre o mesmo resultado, que é o user.name do usuário que está rodando o Tomcat ou outro servidor de aplicações (como “nobody” ou “Administrator”). System.getProperty (“user.name”) não serve no caso de querer o usuário do site JSP.

N

Server - Client
Client - Server

Criado 14 de dezembro de 2004
Ultima resposta 14 de dez. de 2004
Respostas 7
Participantes 4