[jboss-cvs] JBossAS SVN: r64329 - projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jul 27 13:18:53 EDT 2007
Author: anil.saldhana at jboss.com
Date: 2007-07-27 13:18:52 -0400 (Fri, 27 Jul 2007)
New Revision: 64329
Modified:
projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossServerAuthContext.java
Log:
take care of supported types
Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossServerAuthContext.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossServerAuthContext.java 2007-07-27 16:01:54 UTC (rev 64328)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossServerAuthContext.java 2007-07-27 17:18:52 UTC (rev 64329)
@@ -22,6 +22,7 @@
package org.jboss.security.auth.message.config;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -92,9 +93,23 @@
public AuthStatus validateRequest(MessageInfo messageInfo, Subject clientSubject,
Subject serviceSubject) throws AuthException
{
+ List<ServerAuthModule> supportingModules = new ArrayList<ServerAuthModule>();
+
+ Class requestType = messageInfo.getRequestMessage().getClass();
+
AuthStatus status = null;
for(ServerAuthModule sam:modules)
{
+ List<Class> supportedTypes = Arrays.asList(sam.getSupportedMessageTypes());
+ if(supportedTypes.contains(requestType))
+ supportingModules.add(sam);
+
+ }
+ if(supportingModules.size() == 0)
+ throw new RuntimeException("No ServerAuthModule configured to support type:"+requestType);
+
+ for(ServerAuthModule sam:supportingModules)
+ {
status = sam.validateRequest(messageInfo, clientSubject, serviceSubject);
if(status == AuthStatus.FAILURE)
break;
More information about the jboss-cvs-commits
mailing list