Thanks scott for those nice links.

However, my requirement is slightly different and I am newbie to Tomcat. I 
enabled ExtendedFormAuthenticator to my application as suggested in one of the 
links. 
http://wiki.jboss.org/wiki/Wiki.jsp?page=ExtendedFormAuthenticator

After that, I observed the following output in the server logs:


  | 2006-12-18 13:40:56,593 TRACE 
[org.jboss.web.tomcat.security.JBossSecurityMgrRealm] End authenticate, 
principal=GenericPrincipal[admin(HiringManagers,Recruiters,)]
  | 2006-12-18 13:40:56,593 DEBUG 
[org.apache.catalina.authenticator.FormAuthenticator] Authentication of 'admin' 
was successful
  | 2006-12-18 13:40:56,593 DEBUG 
[org.apache.catalina.authenticator.FormAuthenticator] Redirecting to original 
'/SampleWeb/secure/MainMenu.seam?clientIdentifier=Kenexa'
  | 2006-12-18 13:40:56,593 TRACE 
[org.jboss.web.tomcat.security.ExtendedFormAuthenticator] SessionID: 
AE87BB0614F54B452EE2FDE877015D00
  | 2006-12-18 13:40:56,593 TRACE 
[org.jboss.web.tomcat.security.ExtendedFormAuthenticator] Setting j_username = 
admin
  | 2006-12-18 13:40:56,593 TRACE 
[org.jboss.web.tomcat.security.ExtendedFormAuthenticator] Setting j_password = 
--hidden--
  | 2006-12-18 13:40:56,593 TRACE 
[org.jboss.web.tomcat.security.ExtendedFormAuthenticator] Setting j_exception = 
null
  | 

I observed that the ExtendedFormAuthenticator has pushed the j_username, 
j_password & j_exception into the session which can be used for post login or 
for error handling.

However, Our requirement is something like this. Our application should support 
multiple clients with a single code base.

Each client will have their own LDAP configuration. While trying to 
authenticate the user, I need to know the client to which the user belongs to 
appropriately load the correct configuration and authenticate the user.

We decided to give the client id as part of the request url via a query string 
so that somehow we can get them inside the login module.

While browsing the net, I came across a feature in Jetty which allows me to do 
something like this.

http://docs.codehaus.org/display/JETTY/JAAS.

Jetty has a callback called RequestParameterCallback using which I can get this 
as shown below:


  | public class FooLoginModule extends AbstractLoginModule
  | {
  |         .
  |         .
  |         .
  | 
  |      public boolean login()
  |         throws LoginException
  |      {
  |         .
  |         .
  |         .
  |         Callback[] callbacks = new Callback[3];
  |         callbacks[0] = new NameCallback();
  |         callbacks[1] = new ObjectCallback();
  | 
  |         //as an example, look for a param named "extrainfo" in the request
  |         //use one RequestParameterCallback() instance for each param you 
want to access
  |         callbacks[2] = new RequestParameterCallback ();
  |         ((RequestParameterCallback)callbacks[2]).setParameterName 
("extrainfo");
  |         .
  |         .
  |         .
  |         callbackHandler.handle(callbacks);
  |         String userName = ((NameCallback)callbacks[0]).getName();
  |         Object pwd = ((ObjectCallback)callbacks[1]).getObject();
  |         List paramValues = 
((RequestParameterCallback)callbacks[2]).getParameterValues();
  | 
  |         //use the userName, pwd and the value(s) of the parameter named 
"extrainfo" to
  |         //authenticate the user
  |         .
  |         .
  |         .
  |      }
  | 

Do we have a similar stuff in Tomcat and if so can someone please let me know 
as to how to do the same.?

Thanks in advance.

regards
sriraman.


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3994579#3994579

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3994579
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to