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