[jboss-cvs] JBossAS SVN: r64386 - in projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth: login and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jul 31 14:11:09 EDT 2007


Author: anil.saldhana at jboss.com
Date: 2007-07-31 14:11:09 -0400 (Tue, 31 Jul 2007)
New Revision: 64386

Modified:
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/callback/AppCallbackHandler.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/login/XMLLoginConfigImpl.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/AuthProviderRegistrationDelegate.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossAuthConfigFactory.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossServerAuthContext.java
Log:
JASPI related changes

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/callback/AppCallbackHandler.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/callback/AppCallbackHandler.java	2007-07-31 18:10:24 UTC (rev 64385)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/callback/AppCallbackHandler.java	2007-07-31 18:11:09 UTC (rev 64386)
@@ -69,6 +69,10 @@
    /** Whether this handler gets the username/password from the console */
    private boolean consoleHandler = false; 
 
+   public AppCallbackHandler()
+   {   
+   }
+   
    public AppCallbackHandler(String username, char[] password)
    {
       this.username = username;

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/login/XMLLoginConfigImpl.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/login/XMLLoginConfigImpl.java	2007-07-31 18:10:24 UTC (rev 64385)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/login/XMLLoginConfigImpl.java	2007-07-31 18:11:09 UTC (rev 64386)
@@ -111,8 +111,13 @@
 
       AppConfigurationEntry[] entry = null;
       ApplicationPolicy aPolicy = this.getApplicationPolicy(appName); 
-      AuthenticationInfo authInfo = aPolicy != null ? (AuthenticationInfo)aPolicy.getAuthenticationInfo()
-                                     : null;
+      AuthenticationInfo authInfo = null;
+      if(aPolicy != null)
+      {
+         BaseAuthenticationInfo bai = aPolicy.getAuthenticationInfo();
+         if(bai instanceof AuthenticationInfo)
+            authInfo = (AuthenticationInfo)bai;
+      } 
        
       if (authInfo == null)
       {

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/AuthProviderRegistrationDelegate.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/AuthProviderRegistrationDelegate.java	2007-07-31 18:10:24 UTC (rev 64385)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/AuthProviderRegistrationDelegate.java	2007-07-31 18:11:09 UTC (rev 64386)
@@ -127,6 +127,8 @@
    public AuthConfigProvider getConfigProvider(String layer, String appContext, 
          RegistrationListener listener)
    { 
+      if(appContext == null)
+         appContext = " ";
       String input = (layer + "_" + appContext).toUpperCase();
       String allLayer  = ("NULL" + "_" + appContext).toUpperCase(); 
       String allContext = (layer + "_" + "NULL").toUpperCase();

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossAuthConfigFactory.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossAuthConfigFactory.java	2007-07-31 18:10:24 UTC (rev 64385)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossAuthConfigFactory.java	2007-07-31 18:11:09 UTC (rev 64386)
@@ -21,7 +21,9 @@
   */
 package org.jboss.security.auth.message.config;
  
+import java.util.HashMap;
 import java.util.Map;
+import java.util.Properties;
 
 import javax.security.auth.message.AuthException;
 import javax.security.auth.message.config.AuthConfigFactory;
@@ -43,6 +45,10 @@
    public JBossAuthConfigFactory()
    {   
       delegate = new AuthProviderRegistrationDelegate();
+      Map props = new HashMap();
+      JBossAuthConfigProvider provider = new JBossAuthConfigProvider(props);
+      //register a few default providers for the layers
+      delegate.registerConfigProvider(provider, "HTTP", " ", "Default Provider"); 
    }
    
    /**

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-31 18:10:24 UTC (rev 64385)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossServerAuthContext.java	2007-07-31 18:11:09 UTC (rev 64386)
@@ -96,14 +96,24 @@
       List<ServerAuthModule> supportingModules = new ArrayList<ServerAuthModule>();
       
       Class requestType = messageInfo.getRequestMessage().getClass();
+      Class[] requestInterfaces = requestType.getInterfaces(); 
       
+      List<Class> intfaee = Arrays.asList(requestInterfaces);
       AuthStatus status = null; 
       for(ServerAuthModule sam:modules)
       { 
          List<Class> supportedTypes = Arrays.asList(sam.getSupportedMessageTypes());
-         if(supportedTypes.contains(requestType))
-            supportingModules.add(sam);
          
+         //Check the interfaces
+         for(Class clazz:intfaee)
+         {
+            if(supportedTypes.contains(clazz) && !supportingModules.contains(sam)) 
+               supportingModules.add(sam);
+         } 
+         
+         //Check the class type also
+         if(supportedTypes.contains(requestType) && !supportingModules.contains(sam)) 
+            supportingModules.add(sam); 
       }
       if(supportingModules.size() == 0)
          throw new RuntimeException("No ServerAuthModule configured to support type:"+requestType);




More information about the jboss-cvs-commits mailing list