[jboss-cvs] JBossAS SVN: r64380 - projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jul 31 14:07:02 EDT 2007


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

Modified:
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossAuthenticationManager.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NoAccessSecurityManager.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NullSecurityManager.java
Log:
Add the JASPI isValid method

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossAuthenticationManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossAuthenticationManager.java	2007-07-31 18:06:22 UTC (rev 64379)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/JBossAuthenticationManager.java	2007-07-31 18:07:02 UTC (rev 64380)
@@ -29,10 +29,19 @@
 import javax.security.auth.callback.CallbackHandler;
 import javax.security.auth.login.LoginContext;
 import javax.security.auth.login.LoginException; 
+import javax.security.auth.message.AuthException;
+import javax.security.auth.message.AuthStatus;
+import javax.security.auth.message.MessageInfo;
+import javax.security.auth.message.config.AuthConfigFactory;
+import javax.security.auth.message.config.AuthConfigProvider;
+import javax.security.auth.message.config.ServerAuthConfig;
+import javax.security.auth.message.config.ServerAuthContext;
+import javax.security.jacc.PolicyContext;
 
 import org.jboss.logging.Logger;
 import org.jboss.security.AuthenticationManager;
 import org.jboss.security.SecurityConstants;
+import org.jboss.security.auth.callback.AppCallbackHandler;
 import org.jboss.security.cache.JBossAuthenticationCache;
 import org.jboss.security.cache.SecurityCache;
 import org.jboss.security.cache.SecurityCacheException;
@@ -178,6 +187,36 @@
    } 
    
    /**
+    * @see AuthenticationManager#isValid(MessageInfo, Subject, String)
+    */
+   public boolean isValid(MessageInfo requestMessage,Subject clientSubject, String layer)
+   { 
+      AuthStatus status = AuthStatus.FAILURE;
+      
+      try
+      {
+         String contextID = PolicyContext.getContextID();
+         AuthConfigFactory factory = AuthConfigFactory.getFactory();
+         AuthConfigProvider provider = factory.getConfigProvider(layer,contextID,null); 
+         ServerAuthConfig serverConfig = provider.getServerAuthConfig(layer,contextID, 
+                  new AppCallbackHandler("DUMMY","DUMMY".toCharArray()));  
+         ServerAuthContext sctx = serverConfig.getAuthContext(contextID, 
+               new Subject(), new HashMap());
+         if(clientSubject == null)
+            clientSubject = new Subject();
+         Subject serviceSubject = new Subject();
+         status = sctx.validateRequest(requestMessage, clientSubject, serviceSubject); 
+         this.subjectLocal.set(clientSubject);
+      }
+      catch(AuthException ae)
+      {
+         log.trace("AuthException:",ae);
+      } 
+      return AuthStatus.SUCCESS == status ;
+   }
+   
+   
+   /**
     * Value added method for testing alone
     * @return
     */
@@ -206,5 +245,5 @@
       { 
       }
       return null;
-   }
+   } 
 }

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NoAccessSecurityManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NoAccessSecurityManager.java	2007-07-31 18:06:22 UTC (rev 64379)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NoAccessSecurityManager.java	2007-07-31 18:07:02 UTC (rev 64380)
@@ -27,6 +27,7 @@
 import java.util.Set;
 import java.security.Principal;
 import javax.security.auth.Subject;
+import javax.security.auth.message.MessageInfo;
 
 import org.jboss.security.RealmMapping;
 import org.jboss.security.SubjectSecurityManager;
@@ -90,6 +91,11 @@
        return false;
     }
     
+    public boolean isValid(MessageInfo requestMessage, Subject clientSubject, String layer)
+    { 
+       return false;
+    }
+    
     /**
      * @see AuthenticationManager#getTargetPrincipal(Principal,Map)
      */

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NullSecurityManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NullSecurityManager.java	2007-07-31 18:06:22 UTC (rev 64379)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/NullSecurityManager.java	2007-07-31 18:07:02 UTC (rev 64380)
@@ -27,6 +27,7 @@
 import java.util.Set;
 import java.security.Principal;
 import javax.security.auth.Subject;
+import javax.security.auth.message.MessageInfo;
 
 import org.jboss.security.AnybodyPrincipal;
 import org.jboss.security.RealmMapping;
@@ -91,6 +92,11 @@
        return true;
     }
     
+    public boolean isValid(MessageInfo requestMessage, Subject clientSubject, String layer)
+    { 
+       return true;
+    }
+    
     /**
      * @see AuthenticationManager#getTargetPrincipal(Principal,Map)
      */




More information about the jboss-cvs-commits mailing list