* src/net/sf/acegisecurity/adapters/AutoIntegrationFilter.java:
Use reflection instead of hard-coding the values to determine if we should integrate with a specific container implementation.
This commit is contained in:
parent
61b657318d
commit
1e4c234ea7
|
@ -18,8 +18,6 @@ package net.sf.acegisecurity.adapters;
|
|||
import net.sf.acegisecurity.Authentication;
|
||||
import net.sf.acegisecurity.adapters.jboss.JbossIntegrationFilter;
|
||||
|
||||
import org.jboss.security.SimplePrincipal;
|
||||
|
||||
import javax.servlet.ServletRequest;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
|
@ -33,13 +31,11 @@ import javax.servlet.http.HttpServletRequest;
|
|||
* <code>web.xml</code> will not need to refer to a specific container
|
||||
* integration filter.
|
||||
* </p>
|
||||
*
|
||||
* <p>
|
||||
* See {@link AbstractIntegrationFilter} for further information.
|
||||
* </p>
|
||||
*
|
||||
* @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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue