JBoss 7 + JAAS + SingleSignOn (SSO)

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.

Utilizei o exemplo desse link (https://jbossdivers.wordpress.com/tag/jboss-single-sign-on) para fazer a minha implementação, que funcionou perfeitamente.

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?

E ai Mauricio,

Cara seguinte vamos lá tentar resolver isso…

Você está utilizando algum balanceador de carga? O seu ambiente está em cluster?

[]s

Então jmag, não estou fazendo balance nem cluster do meu server, subi ele como standalone mesmo…

Isso parec ser useful…

http://achillecarette.blogspot.com.br/2011/03/apache-jboss-form-based-authentication.html

Entendi, se esse for o caso… tenho que testar mesmo… eu penso que seja alguma pequena configuração para que isso funcione…

Também acredito que deva ser apenas algum detalhe, mas pesquisei bastante na web e não encontrei nada… :frowning:

Você acha que vale a pena eu configurar o meu server em modo cluster e utilizar a valve ClusteredSingleSignOn para ver se funciona?

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…


JBoss SSO

http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/6/html/Beta_Documentation/Choose_the_Right_SSO_Implementation.html

Mod Cluster

http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/6/html/Beta_Documentation/Install_the_mod_cluster_Module_Into_Apache_HTTPD_or_Enterprise_Web_Server_HTTPD.html

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 :slight_smile:

Abraços

heheh tu acredita que em "modo cluster " e li "mod_cluster " Sorry :confused:
Desconsidera então parte da informação rsrs

Abraços e Boa Sorte :slight_smile:

Pô chará, só agora eu prestei atenção na sua assinatura… sorry… rs…

É do seu próprio post no jbossdivers.wordpress.com que estamos falando… rs…

Então, obrigado pela ajuda até o momento, vou efetuar a configuração do meu JBoss conforme sua sugestão e farei novos testes…

Se conseguir descobrir alguma coisa posto aqui novamente, e se caso vc descobrir algo, estarei precisando! hehehe

hehe pois é eu tento escrever alguma coisa sobre JBoss… de vez em quando funciona :stuck_out_tongue:

Então seu eu achar a solução desse problema eu posto aqui :slight_smile:

Abraços

Alguém conseguiu configurar no jboss 7.1???

Tentei acessar esses links, mas deu 404

Olá Rodrigo!

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.

Abraço!

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!

Espero que isso ajude.
Abs!