From 1e4c234ea78909ab3f308bb796989d54b53c4342 Mon Sep 17 00:00:00 2001
From: Francois Beausoleil web.xml will not need to refer to a specific container
* integration filter.
*
- * See {@link AbstractIntegrationFilter} for further information. - *
* * @author Ben Alex * @version $Id$ + * + * @see AbstractIntegrationFilter */ public class AutoIntegrationFilter extends AbstractIntegrationFilter { //~ Methods ================================================================ @@ -52,8 +48,20 @@ public class AutoIntegrationFilter extends AbstractIntegrationFilter { return new HttpRequestIntegrationFilter().extractFromContainer(request); } - if (httpRequest.getUserPrincipal() instanceof SimplePrincipal) { - return new JbossIntegrationFilter().extractFromContainer(request); + try { + Class simplePrincipalClass = Class.forName( + "org.jboss.security.SimplePrincipal"); + + if (null != httpRequest.getUserPrincipal()) { + if (simplePrincipalClass.isAssignableFrom( + httpRequest.getUserPrincipal().getClass())) { + return new JbossIntegrationFilter() + .extractFromContainer(request); + } + } + } catch (ClassNotFoundException e) { + // Can't be JBoss principal + // Expected, and normal - fall through } }