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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jun 2 09:28:43 EDT 2008


Author: anil.saldhana at jboss.com
Date: 2008-06-02 09:28:43 -0400 (Mon, 02 Jun 2008)
New Revision: 73920

Added:
   projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JASPIServerAuthenticationManager.java
Modified:
   projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JaasSecurityManagerBase.java
Log:
SECURITY-228: jsr-196 extraction

Added: projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JASPIServerAuthenticationManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JASPIServerAuthenticationManager.java	                        (rev 0)
+++ projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JASPIServerAuthenticationManager.java	2008-06-02 13:28:43 UTC (rev 73920)
@@ -0,0 +1,88 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.security.plugins.auth;
+
+import java.util.HashMap;
+
+import javax.security.auth.Subject;
+import javax.security.auth.callback.CallbackHandler;
+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.security.ServerAuthenticationManager;
+
+/**
+ * @author Anil.Saldhana at redhat.com
+ */
+public class JASPIServerAuthenticationManager 
+extends JaasSecurityManagerBase implements ServerAuthenticationManager
+{   
+   public JASPIServerAuthenticationManager()
+   {
+      super(); 
+   }
+
+   public JASPIServerAuthenticationManager(String securityDomain, CallbackHandler handler)
+   {
+      super(securityDomain, handler); 
+   }
+
+   /**
+    * @see AuthenticationManager#isValid(MessageInfo, Subject, String, CallbackHandler)
+    */
+   @SuppressWarnings("unchecked")
+   public boolean isValid(MessageInfo requestMessage,Subject clientSubject, String layer,
+         CallbackHandler handler)
+   { 
+      AuthStatus status = AuthStatus.FAILURE;
+      
+      try
+      {
+         String contextID = PolicyContext.getContextID();
+         AuthConfigFactory factory = AuthConfigFactory.getFactory();
+         AuthConfigProvider provider = factory.getConfigProvider(layer,contextID,null); 
+         if(provider == null)
+            throw new IllegalStateException("Provider is null for "+ layer + " for "+ contextID);
+         
+         ServerAuthConfig serverConfig = provider.getServerAuthConfig(layer,contextID,handler);  
+         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); 
+         //TODO: Add caching
+      }
+      catch(AuthException ae)
+      {
+         log.trace("AuthException:",ae);
+      } 
+      return AuthStatus.SUCCESS == status ;
+   }
+   
+}
\ No newline at end of file

Modified: projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JaasSecurityManagerBase.java
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JaasSecurityManagerBase.java	2008-06-02 13:27:47 UTC (rev 73919)
+++ projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JaasSecurityManagerBase.java	2008-06-02 13:28:43 UTC (rev 73920)
@@ -27,7 +27,6 @@
 import java.security.acl.Group;
 import java.util.Arrays;
 import java.util.Enumeration;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
@@ -36,14 +35,6 @@
 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;
@@ -54,7 +45,6 @@
 import org.jboss.security.SecurityContextAssociation;
 import org.jboss.security.SecurityUtil;
 import org.jboss.security.SubjectSecurityManager;
-import org.jboss.security.auth.callback.AppCallbackHandler;
 import org.jboss.security.auth.callback.SecurityAssociationHandler;
 import org.jboss.util.CachePolicy;
 import org.jboss.util.TimedCachePolicy;
@@ -366,49 +356,8 @@
       if( trace )
          log.trace("End isValid, "+isValid); 
       return isValid;
-   }
-   
-   /**
-    * @see AuthenticationManager#isValid(MessageInfo, Subject, String)
-    */
-   public boolean isValid(MessageInfo requestMessage,Subject clientSubject, String layer)
-   { 
-      CallbackHandler cbh = new AppCallbackHandler("DUMMY","DUMMY".toCharArray());
-      return this.isValid(requestMessage, clientSubject, layer, cbh); 
-   }
+   } 
 
-   /**
-    * @see AuthenticationManager#isValid(MessageInfo, Subject, String, CallbackHandler)
-    */
-   @SuppressWarnings("unchecked")
-   public boolean isValid(MessageInfo requestMessage,Subject clientSubject, String layer,
-         CallbackHandler handler)
-   { 
-      AuthStatus status = AuthStatus.FAILURE;
-      
-      try
-      {
-         String contextID = PolicyContext.getContextID();
-         AuthConfigFactory factory = AuthConfigFactory.getFactory();
-         AuthConfigProvider provider = factory.getConfigProvider(layer,contextID,null); 
-         if(provider == null)
-            throw new IllegalStateException("Provider is null for "+ layer + " for "+ contextID);
-         
-         ServerAuthConfig serverConfig = provider.getServerAuthConfig(layer,contextID,handler);  
-         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); 
-         //TODO: Add caching
-      }
-      catch(AuthException ae)
-      {
-         log.trace("AuthException:",ae);
-      } 
-      return AuthStatus.SUCCESS == status ;
-   }
    
    /** Map the argument principal from the deployment environment principal
     to the developer environment. This is called by the EJB context




More information about the jboss-cvs-commits mailing list