[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