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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri May 11 10:28:01 EDT 2007


Author: anil.saldhana at jboss.com
Date: 2007-05-11 10:28:01 -0400 (Fri, 11 May 2007)
New Revision: 62980

Added:
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/JBossAuditManager.java
Removed:
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/AuditManager.java
Modified:
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/AuditContext.java
Log:
SECURITY-47: audit configuration changes

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/AuditContext.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/AuditContext.java	2007-05-11 14:23:21 UTC (rev 62979)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/AuditContext.java	2007-05-11 14:28:01 UTC (rev 62980)
@@ -7,11 +7,8 @@
 package org.jboss.security.audit;
 
 import java.util.ArrayList;
-import java.util.List;
+import java.util.List; 
 
-import org.jboss.security.audit.providers.LogAuditProvider;
-  
-
 /**
  *  Context for Audit Purposes that manages a set of providers
  *  @see AuditProvider
@@ -19,16 +16,15 @@
  *  @version $Revision$
  *  @since  Aug 21, 2006
  */
-public class AuditContext implements SecurityAuditManager
+public class AuditContext 
 {
    private String securityDomain = null;
    
-   private List providerList = new ArrayList();
+   private List<AuditProvider> providerList = new ArrayList<AuditProvider>();
    
    public AuditContext(String securityDomainName)
    { 
-      this.securityDomain = securityDomainName;
-      providerList.add(new LogAuditProvider());
+      this.securityDomain = securityDomainName; 
    }
    
    public void audit(AuditEvent ae)

Deleted: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/AuditManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/AuditManager.java	2007-05-11 14:23:21 UTC (rev 62979)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/AuditManager.java	2007-05-11 14:28:01 UTC (rev 62980)
@@ -1,43 +0,0 @@
-/*
- * JBoss, the OpenSource J2EE webOS
- *
- * Distributable under LGPL license.
- * See terms of license at gnu.org.
- */ 
-package org.jboss.security.audit;
-
-import org.jboss.security.audit.providers.LogAuditProvider;
-
-import EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap;
-
-/**
- *  Manages a set of AuditContext
- *  @author <a href="mailto:Anil.Saldhana at jboss.org">Anil Saldhana</a>
- *  @version $Revision$
- *  @since  Aug 22, 2006
- */
-public class AuditManager 
-{
-   private static ConcurrentHashMap contexts = new ConcurrentHashMap();
-   
-   private static AuditContext defaultContext = null;
-   
-   static
-   {
-      defaultContext = new AuditContext("Default_Context");
-      defaultContext.addProvider(new LogAuditProvider()); 
-   }
-   
-   public static AuditContext getAuditContext(String securityDomain)
-   {
-      AuditContext ac = (AuditContext)contexts.get(securityDomain);
-      if(ac == null)
-         ac = defaultContext;
-      return ac;
-   } 
-   
-   public static void addAuditContext(String securityDomain, AuditContext ac)
-   {
-      contexts.put(securityDomain, ac);
-   } 
-}

Added: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/JBossAuditManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/JBossAuditManager.java	                        (rev 0)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/JBossAuditManager.java	2007-05-11 14:28:01 UTC (rev 62980)
@@ -0,0 +1,100 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */ 
+package org.jboss.security.audit;
+
+import java.security.PrivilegedActionException;
+import java.util.List;
+
+import org.jboss.security.audit.config.AuditProviderEntry;
+import org.jboss.security.audit.providers.LogAuditProvider;
+import org.jboss.security.config.ApplicationPolicy;
+import org.jboss.security.config.AuditInfo;
+import org.jboss.security.config.SecurityConfiguration;
+
+import EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap;
+
+/**
+ *  Manages a set of AuditContext
+ *  @author <a href="mailto:Anil.Saldhana at jboss.org">Anil Saldhana</a>
+ *  @version $Revision$
+ *  @since  Aug 22, 2006
+ */
+public class JBossAuditManager implements AuditManager
+{
+   private static ConcurrentHashMap contexts = new ConcurrentHashMap();
+   
+   private static AuditContext defaultContext = null;
+   
+   static
+   {
+      defaultContext = new AuditContext("Default_Context");
+      defaultContext.addProvider(new LogAuditProvider()); 
+   }
+
+   private String securityDomain;
+   
+   public JBossAuditManager(String secDomain)
+   {
+      this.securityDomain = secDomain;
+   }
+   
+   public AuditContext getAuditContext() throws PrivilegedActionException
+   {
+      AuditContext ac = (AuditContext)contexts.get(securityDomain);
+      if(ac == null)
+      {
+         ac = new AuditContext(securityDomain);
+         ApplicationPolicy ap = SecurityConfiguration.getApplicationPolicy(securityDomain);
+         if(ap != null)
+         {
+            AuditInfo ai = ap.getAuditInfo();
+            ClassLoader cl = SecurityActions.getContextClassLoader();
+            List<AuditProviderEntry> list = ai.get();
+            for(AuditProviderEntry ape:list)
+            {
+               String pname = ape.getName();
+               try
+               {
+                  ac.addProvider((AuditProvider) SecurityActions.loadClass(pname).newInstance());
+               }
+               catch (Exception e)
+               {
+                  throw new RuntimeException(e);
+               } 
+            }
+         }
+      }
+      return ac;
+   }
+   
+   public static AuditContext getAuditContext(String securityDomain)
+   {
+      AuditContext ac = (AuditContext)contexts.get(securityDomain);
+      if(ac == null)
+         ac = defaultContext;
+      return ac;
+   } 
+   
+   public static void addAuditContext(String securityDomain, AuditContext ac)
+   {
+      contexts.put(securityDomain, ac);
+   }
+
+   public void audit(AuditEvent ae)
+   {
+      AuditContext ac = null;
+      try
+      {
+         ac = getAuditContext();
+      }
+      catch (PrivilegedActionException e)
+      {
+        throw new RuntimeException(e);
+      }
+      ac.audit(ae); 
+   } 
+}




More information about the jboss-cvs-commits mailing list