Galera, estou desenvolvendo um portal na minha empresa utilizando as tecnologias JAVAEE 6, JSF 2 e JBOSS 7 e desejo que ele seja o único ponto de autenticação existente, e que todos os outros sistemas sejam acessados através dele, como em qualquer portal.
O problema é que o exemplo utiliza o método de autenticação BASIC, que apresenta um popup do browser solicitando usuário e senha, e no meu portal desenvolvi uma página de login seguindo os padrões do j_security_check.
Se utilizo o método BASIC o meu portal funciona perfeitamente, e quando redireciono para outra aplicação ele consegue verificar que já existe um usuário autenticado.
Porém, quando troco o método de autenticação para FORM, para utilizar a minha página de login, faço o login no portal normalmente mas quando redireciono para outra aplicação ela pede o login novamente, como se não existisse um usuário autenticado.
Aparentemente, a válvula org.apache.catalina.authenticator.SingleSignOn só está funcionando com o método de autenticação BASIC.
Alguém já teve esse problema? Ou ainda, alguém já precisou fazer algo desse tipo e possui alguma outra alternativa?
Bom eu acho que vale a pena sim, por que em ambientes reais não é aconselhado colocar o JBoss de frente com a Web. Normalmente existe um proxy reverso / balanceador e atrás disso normalmente os coloca-se um DMZ e ai sim vem o JBoss…
Seu que o nome pode confudir mas o mod_cluter apesar disso é um é um balanceador de carga HTTP ou seja você pode utiliza-lo mesmo se o ambiente não estiver em cluster… bom é isso que eu entendo dele…
Aqui abaixo está a doc do JBoss EAP 6 que é o JBoss AS 7.1 espero que te ajude em algo…
Eu estou sem tempo para fazer esses testes, se resolver deixe a solução aqui por que até eu gostaria de saber se isso funciona ou nao…
mas se eu conseguir fazer antes de vc eu posto aqui
Cara, até hoje não consegui fazer funcionar da forma que gostaria. Consigo fazer a autenticação via FORM, porém, não consigo compartilhar o módulo de segurança com outra aplicação. Somente através da autenticação BASIC é que o módulo de segurança é compartilhado entre as aplicações.
Obrigado Mauricio, estou tentando migrar do jboss 4 para o 7, mas existem um milhão de barreiras, vou continuar pesquisando se achar solução eu posto aqui.
Olá pessoal estava com problema similar, consegui resolver alterando a configuração do domain sso de “localhost” para “127.0.0.1” no arquivo standalone.xml:
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<virtual-server name="default-host" enable-welcome-root="true">
<alias name="localhost"/>
<alias name="example.com"/>
<sso domain="127.0.0.1" reauthenticate="false"/>
</virtual-server>
</subsystem>
realizei o teste acessando minhas aplicações(wars) pelo loopback http://127.0.0.1:8080 e funcionou corretamente!