Hello,
Basically I'm using a custom Jaas LoginModule to authenticate my web
application (my portlet) in a Tomcat Valve. Once authenticated, the Jaas
Subject is propagated to a remote JBoss application server.
I have already been using this mechanism successfully with a simple web
application (out of a portal context), but I can't make it within my JBoss
portal context since after the authentication succeed, I am redirected to the
Portal login page.
Following are the details of my JBoss Portal configuration:
1- I added a SSOValve
This valve does something like:
lc = new LoginContext("gubpm-server", subject,
| new
HttpAuthCallbackHandler(httpServletRequest));
|
| lc.login();
|
2- The "gubpm-server" configuration is defined in the login-config.xml file as:
<application-policy name="gubpm-server">
| <authentication>
| <login-module
| code="ch.ne.gubpm.security.auth.SSOLoginModule"
| flag="required" />
| <login-module
| code="org.jboss.security.ClientLoginModule"
| flag="required">
| <!-- Any existing security context will be
restored on logout -->
| <module-option name="restore-login-identity">
| true
| </module-option>
| </login-module>
| </authentication>
| </application-policy>
|
3- The SSOLoginModule perform a simple authentication which always succeed and
produces a Subject this way:
subject.getPrincipals().add(userPrincipal); // user
| subject.getPublicCredentials().add(password); //
password
| subject.getPrincipals().add(new
GUBPMPrincipal("Authenticated")); // role
And a GUBPMPrincipal implements java.security.Principal and only has a name
attribute
4- I did not add any security constrainst to my web application. I only defined
in the jboss-web.xml file:
<security-domain>java:/jaas/client-login</security-domain>
to propagate my credentials to the remote JBoss application server
Apparently, even with no security check made on my web pages, the JBoss portal
security is called and don't let me pass. I tried with credentials that would
normally match the portal administrator profile (userId=admin, password=admin,
role=Authenticated) with no success.
I would like to keep this mechanism since I know it will be ok to authenticate
on the remote JBoss server that way (once I'm authorized by JBoss portal!)
All I need is to skip this redirection to JBoss Portal login page. I don't care
login in the portal for this application.
Anybody knows how to skip this security checking?
One way of achieving this could be to disable the Portal security, but I could
not find a clean way of doing it without breaking the entire portal.
Thank you very much for your help!
Tanguy
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3984236#3984236
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3984236
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user