Hi everyone. I came across the same issue whilst writing a security adapter for JBoss 
(www.acegi.com.au/security). You'll find the following will work:


  | import java.security.Principal;
  | import java.util.Iterator;
  | 
  | import javax.naming.InitialContext;
  | import javax.naming.NamingException;
  | import javax.security.auth.Subject;
  | import javax.servlet.http.HttpServletRequest;
  | 
  | import au.com.acegi.springsecurity.Authentication;
  | import au.com.acegi.springsecurity.adapters.AbstractMvcIntegrationInterceptor;
  | 
  | /**
  |  * Populates a [EMAIL PROTECTED] SecureContext} from JBoss'
  |  * <code>java:comp/env/security/subject</code>.
  |  * 
  |  * <p>See [EMAIL PROTECTED] AbstractMvcIntegrationInterceptor} for further 
information.
  |  * 
  |  * @author Ben Alex
  |  * @version $Id: JbossMvcIntegrationInterceptor.java,v 1.2 2004/03/02 23:27:08 
balex Exp $
  |  */
  | public class JbossMvcIntegrationInterceptor extends 
AbstractMvcIntegrationInterceptor {
  | 
  |     public Object extractFromContainer(HttpServletRequest request) {
  |             Subject subject = null;
  |             try {
  |                     InitialContext ic = new InitialContext();
  |                     subject = (Subject) 
ic.lookup("java:comp/env/security/subject");
  |             } catch (NamingException ne) {
  |                     if (super.logger.isDebugEnabled())
  |                             super.logger.warn("Lookup on Subject failed " + 
ne.getLocalizedMessage());
  |             }
  |             
  |             if (subject != null && subject.getPrincipals() != null) {
  |                     Iterator principals = subject.getPrincipals().iterator();
  |                     while (principals.hasNext()) {
  |                             Principal p = (Principal) principals.next();
  |                             if (super.logger.isDebugEnabled())
  |                                     super.logger.debug("Found Principal in 
container (" + p.getClass().getName() + ") : " +  p.getName());
  |                             if (p instanceof Authentication)
  |                                     return p;
  |                     }
  |             }
  |             return null;
  |     }
  | }
  | 

<a 
href="http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3824552#3824552";>View 
the original post</a>

<a 
href="http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3824552>Reply 
to the post</a>


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to