Pegar nome do usuário com apache + tomcat [RESOLVIDO]

Então galera, já tinha postado uma dúvida na parte de JEE, mas pelo que vejo essa parte é mais movimentada.

Meu problema é: estou desenvolvendo um sisteminha web pra empresa onde trabalho e preciso pegar o username do usuário (o login da rede msm). Antes eu tava só no tomcat, mas depois descobri que eu precisava usar tomcat + apache pra fazer isso.

Então integrei os dois usando o “módulo” mod_jk. Até aí blz…

Continuei pesquisando e vi que pra conseguir pegar esse nome de usuário eu precisaria do “módulo” mod_auth_sspi. Então peguei e instalei… mas acho que eu não consegui configurar direito, pq minhas chamadas de FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal() e FacesContext.getCurrentInstance().getExternalContext().getRemoteUser(); sempre retornam null.
(Estou usando JSF)

Dentro do httpd.conf do apache, as “configurações da mod_auth_sspi” estão assim:
<Location /TesteBD>
AllowOverride None
Options None
Order allow,deny
Allow from all

AuthName "My Intranet"
AuthType Basic
SSPIAuth On
SSPIAuthoritative On
SSPIOfferBasic on
SSPIBasicPreferred Off

require valid-user

Se alguém puder me ajudar, agradeço mto. Seja me ajudando a configurar isso direito, seja me falando uma outra forma de conseguir pegar esse username (mais explicações estão neste outro tópico que criei: http://www.guj.com.br/java/261765-pegar-username-com-aplicacao-web-jsf#1367493)

Como ainda estou desenvolvendo, estou testando tudo localmente no windows. Usando Apache 2.2 e Tomcat 7.0. Mas qnd estiver tudo funcionando o servidor vai ser um Debian com Apache e Jboss. A rede aqui é toda no windows xp msm.

Valeu

Opa, consegui.

Para referências futuras, a quem possivelmente passar dias procurando como fazer isso, eu fiz da seguinte forma:

Como eu disse, me falaram que só com tomcat não rolava. Então, dps de mto penar, botei um Apache rodando com tomcat, usando o mod_jk do Apache.
Esse “módulo” repassa as requisições jsf/jsp etc, pra threads “workers” do tomcat. Ou seja, chega uma requisição no Apache, aí ele manda pra um thread worker do tomcat.

Depois instalei o mod_auth_sspi, no Apache tbm.

O que o java faz é recuperar a variável “REMOTE_USER” do Apache. Essa variável é setada pelas configurações do mod_auth_sspi.

O meu não estava funcionando pq TEM que colocar a tag tomcatAuthentication=“false” no server.xml do tomcat, no local onde vc define as configurações do AJP13, que é um protocolo usados por essas threads “workers”.
E eu não estava fazendo isso. Depois que eu coloquei, eu dou um

FacesContext.getCurrentInstance().getExternalContext().getRemoteUser(); e me é retornado DOMINIO\USERNAME

Pronto.
=D