You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by cp...@apache.org on 2017/05/31 17:12:43 UTC

[1/2] directory-fortress-core git commit: FC-210 added annotations and util to determine methods that have ARBAC permissions

Repository: directory-fortress-core
Updated Branches:
  refs/heads/master eaff9712b -> 45a693193


FC-210 added annotations and util to determine methods that have ARBAC permissions


Project: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/commit/9ed8c10b
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/9ed8c10b
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/9ed8c10b

Branch: refs/heads/master
Commit: 9ed8c10bf178048839a8679fe2246e67f35a26be
Parents: e525351
Author: clp207 <cl...@psu.edu>
Authored: Wed May 31 13:11:43 2017 -0400
Committer: clp207 <cl...@psu.edu>
Committed: Wed May 31 13:11:43 2017 -0400

----------------------------------------------------------------------
 .../annotation/AdminPermissionOperation.java    | 15 +++++
 .../fortress/core/impl/AccessMgrImpl.java       |  5 ++
 .../fortress/core/impl/AdminMgrImpl.java        | 48 +++++++++++++++
 .../fortress/core/impl/AuditMgrImpl.java        |  7 +++
 .../fortress/core/impl/DelAccessMgrImpl.java    |  4 ++
 .../fortress/core/impl/DelAdminMgrImpl.java     | 17 +++++
 .../fortress/core/impl/DelReviewMgrImpl.java    |  8 +++
 .../fortress/core/impl/GroupMgrImpl.java        | 13 ++++
 .../fortress/core/impl/PwPolicyMgrImpl.java     |  8 +++
 .../fortress/core/impl/ReviewMgrImpl.java       | 39 ++++++++++++
 .../fortress/core/util/AdminPermissionUtil.java | 65 ++++++++++++++++++++
 .../core/util/AdminPermissionUtilTest.java      | 47 ++++++++++++++
 12 files changed, 276 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/9ed8c10b/src/main/java/org/apache/directory/fortress/annotation/AdminPermissionOperation.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/annotation/AdminPermissionOperation.java b/src/main/java/org/apache/directory/fortress/annotation/AdminPermissionOperation.java
new file mode 100644
index 0000000..3519aa3
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/annotation/AdminPermissionOperation.java
@@ -0,0 +1,15 @@
+package org.apache.directory.fortress.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface AdminPermissionOperation
+{
+
+    public String operationName() default "";
+    
+}

http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/9ed8c10b/src/main/java/org/apache/directory/fortress/core/impl/AccessMgrImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/AccessMgrImpl.java b/src/main/java/org/apache/directory/fortress/core/impl/AccessMgrImpl.java
index eb7aa43..fffdfc8 100755
--- a/src/main/java/org/apache/directory/fortress/core/impl/AccessMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/AccessMgrImpl.java
@@ -25,6 +25,7 @@ import java.util.List;
 import java.util.Set;
 
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.directory.fortress.annotation.AdminPermissionOperation;
 import org.apache.directory.fortress.core.AccessMgr;
 import org.apache.directory.fortress.core.GlobalErrIds;
 import org.apache.directory.fortress.core.SecurityException;
@@ -134,6 +135,7 @@ public class AccessMgrImpl extends Manageable implements AccessMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public boolean checkAccess( Session session, Permission perm )
         throws SecurityException
     {
@@ -156,6 +158,7 @@ public class AccessMgrImpl extends Manageable implements AccessMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<Permission> sessionPermissions( Session session )
         throws SecurityException
     {
@@ -172,6 +175,7 @@ public class AccessMgrImpl extends Manageable implements AccessMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<UserRole> sessionRoles( Session session )
         throws SecurityException
     {
@@ -188,6 +192,7 @@ public class AccessMgrImpl extends Manageable implements AccessMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Set<String> authorizedRoles( Session session )
         throws SecurityException
     {

http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/9ed8c10b/src/main/java/org/apache/directory/fortress/core/impl/AdminMgrImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/AdminMgrImpl.java b/src/main/java/org/apache/directory/fortress/core/impl/AdminMgrImpl.java
index adcc0e5..3c1e702 100755
--- a/src/main/java/org/apache/directory/fortress/core/impl/AdminMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/AdminMgrImpl.java
@@ -25,6 +25,7 @@ import java.util.List;
 import java.util.Set;
 
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.directory.fortress.annotation.AdminPermissionOperation;
 import org.apache.directory.fortress.core.AdminMgr;
 import org.apache.directory.fortress.core.GlobalErrIds;
 import org.apache.directory.fortress.core.GlobalIds;
@@ -105,6 +106,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public User addUser( User user ) throws SecurityException
     {
         String methodName = "addUser";
@@ -120,6 +122,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void disableUser( User user ) throws SecurityException
     {
         String methodName = "disableUser";
@@ -142,6 +145,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void deleteUser( User user ) throws SecurityException
     {
         String methodName = "deleteUser";
@@ -162,6 +166,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public User updateUser( User user ) throws SecurityException
     {
         String methodName = "updateUser";
@@ -175,6 +180,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void changePassword( User user, String newPassword ) throws SecurityException
     {
         String methodName = "changePassword";
@@ -189,6 +195,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void lockUserAccount( User user ) throws SecurityException
     {
         String methodName = "lockUserAccount";
@@ -202,6 +209,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void unlockUserAccount( User user ) throws SecurityException
     {
         String methodName = "unlockUserAccount";
@@ -215,6 +223,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void resetPassword( User user, String newPassword ) throws SecurityException
     {
         String methodName = "resetPassword";
@@ -230,6 +239,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void deletePasswordPolicy( User user ) throws SecurityException
     {
         String methodName = "deletePasswordPolicy";
@@ -243,6 +253,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Role addRole( Role role ) throws SecurityException
     {
         String methodName = "addRole";
@@ -256,6 +267,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void deleteRole( Role role ) throws SecurityException
     {
         String methodName = "deleteRole";
@@ -308,6 +320,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Role updateRole( Role role ) throws SecurityException
     {
         String methodName = "updateRole";
@@ -321,6 +334,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void assignUser( UserRole uRole ) throws SecurityException
     {
         String methodName = "assignUser";
@@ -351,6 +365,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public RoleConstraint addRoleConstraint( UserRole uRole, RoleConstraint roleConstraint )
     	   	throws SecurityException
     {        
@@ -368,6 +383,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void removeRoleConstraint( UserRole uRole, RoleConstraint roleConstraint )
         	throws SecurityException
     {        
@@ -384,6 +400,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void deassignUser( UserRole uRole ) throws SecurityException
     {
         String methodName = "deassignUser";
@@ -404,6 +421,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Permission addPermission( Permission perm ) throws SecurityException
     {
         String methodName = "addPermission";
@@ -416,6 +434,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public PermissionAttributeSet addPermissionAttributeSet( PermissionAttributeSet permAttributeSet ) throws SecurityException
     {
         String methodName = "addPermissionAttributeSet";         
@@ -428,6 +447,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void deletePermissionAttributeSet( PermissionAttributeSet permAttributeSet ) throws SecurityException
     {
         String methodName = "deletePermissionAttributeSet";         
@@ -440,6 +460,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public PermissionAttribute addPermissionAttributeToSet( PermissionAttribute permAttribute, String attributeSetName )
     	throws SecurityException
     {
@@ -453,6 +474,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void removePermissionAttributeFromSet( PermissionAttribute permAttribute, String attributeSetName )
     	throws SecurityException
     {
@@ -466,6 +488,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override    
+    @AdminPermissionOperation
     public void updatePermissionAttributeInSet(PermissionAttribute permAttribute, String attributeSetName, boolean replaceValidValues) 
         throws SecurityException 
     {
@@ -479,6 +502,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Permission updatePermission( Permission perm ) throws SecurityException
     {
         String methodName = "updatePermission";
@@ -492,6 +516,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void deletePermission( Permission perm ) throws SecurityException
     {
         String methodName = "deletePermission";
@@ -505,6 +530,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public PermObj addPermObj( PermObj pObj ) throws SecurityException
     {
         String methodName = "addPermObj";
@@ -518,6 +544,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public PermObj updatePermObj( PermObj pObj ) throws SecurityException
     {
         String methodName = "updatePermObj";
@@ -531,6 +558,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void deletePermObj( PermObj pObj ) throws SecurityException
     {
         String methodName = "deletePermObj";
@@ -544,6 +572,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void grantPermission( Permission perm, Role role ) throws SecurityException
     {
         String methodName = "grantPermission";
@@ -571,6 +600,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void revokePermission( Permission perm, Role role ) throws SecurityException
     {
         String methodName = "revokePermission";
@@ -589,6 +619,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void grantPermission( Permission perm, User user ) throws SecurityException
     {
         String methodName = "grantPermissionUser";
@@ -605,6 +636,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void revokePermission( Permission perm, User user ) throws SecurityException
     {
         String methodName = "revokePermissionUser";
@@ -619,6 +651,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void addDescendant( Role parentRole, Role childRole ) throws SecurityException
     {
         String methodName = "addDescendant";
@@ -641,6 +674,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void addAscendant( Role childRole, Role parentRole ) throws SecurityException
     {
         String methodName = "addAscendant";
@@ -670,6 +704,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void addInheritance( Role parentRole, Role childRole ) throws SecurityException
     {
         String methodName = "addInheritance";
@@ -701,6 +736,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void deleteInheritance( Role parentRole, Role childRole ) throws SecurityException
     {
         String methodName = "deleteInheritance";
@@ -738,6 +774,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public SDSet createSsdSet( SDSet ssdSet ) throws SecurityException
     {
         String methodName = "createSsdSet";
@@ -757,6 +794,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
     /**
      * {@inheritDoc}
      */
+    @AdminPermissionOperation
     public SDSet updateSsdSet( SDSet ssdSet ) throws SecurityException
     {
         String methodName = "updateSsdSet";
@@ -771,6 +809,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public SDSet addSsdRoleMember( SDSet ssdSet, Role role ) throws SecurityException
     {
         String methodName = "addSsdRoleMember";
@@ -792,6 +831,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public SDSet deleteSsdRoleMember( SDSet ssdSet, Role role ) throws SecurityException
     {
         String methodName = "deleteSsdRoleMember";
@@ -819,6 +859,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public SDSet deleteSsdSet( SDSet ssdSet ) throws SecurityException
     {
         String methodName = "deleteSsdSet";
@@ -865,6 +906,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public SDSet setSsdSetCardinality( SDSet ssdSet, int cardinality ) throws SecurityException
     {
         String methodName = "setSsdSetCardinality";
@@ -882,6 +924,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public SDSet createDsdSet( SDSet dsdSet ) throws SecurityException
     {
         String methodName = "createDsdSet";
@@ -900,6 +943,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
     /**
      * {@inheritDoc}
      */
+    @AdminPermissionOperation
     public SDSet updateDsdSet( SDSet dsdSet ) throws SecurityException
     {
         String methodName = "updateDsdSet";
@@ -914,6 +958,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public SDSet addDsdRoleMember( SDSet dsdSet, Role role ) throws SecurityException
     {
         String methodName = "addDsdRoleMember";
@@ -935,6 +980,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public SDSet deleteDsdRoleMember( SDSet dsdSet, Role role ) throws SecurityException
     {
         String methodName = "deleteDsdRoleMember";
@@ -962,6 +1008,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public SDSet deleteDsdSet( SDSet dsdSet ) throws SecurityException
     {
         String methodName = "deleteDsdSet";
@@ -978,6 +1025,7 @@ public final class AdminMgrImpl extends Manageable implements AdminMgr, Serializ
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public SDSet setDsdSetCardinality( SDSet dsdSet, int cardinality ) throws SecurityException
     {
         String methodName = "setDsdSetCardinality";

http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/9ed8c10b/src/main/java/org/apache/directory/fortress/core/impl/AuditMgrImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/AuditMgrImpl.java b/src/main/java/org/apache/directory/fortress/core/impl/AuditMgrImpl.java
index 3004b1a..d98b719 100755
--- a/src/main/java/org/apache/directory/fortress/core/impl/AuditMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/AuditMgrImpl.java
@@ -23,6 +23,7 @@ import java.io.Serializable;
 import java.util.List;
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.directory.fortress.annotation.AdminPermissionOperation;
 import org.apache.directory.fortress.core.AuditMgr;
 import org.apache.directory.fortress.core.GlobalErrIds;
 import org.apache.directory.fortress.core.ReviewMgr;
@@ -115,6 +116,7 @@ public class AuditMgrImpl extends Manageable implements AuditMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<AuthZ> getUserAuthZs(UserAudit uAudit)
         throws SecurityException
     {
@@ -129,6 +131,7 @@ public class AuditMgrImpl extends Manageable implements AuditMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<AuthZ> searchAuthZs(UserAudit uAudit)
         throws SecurityException
     {
@@ -143,6 +146,7 @@ public class AuditMgrImpl extends Manageable implements AuditMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<Bind> searchBinds(UserAudit uAudit)
         throws SecurityException
     {
@@ -156,6 +160,7 @@ public class AuditMgrImpl extends Manageable implements AuditMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<Mod> searchUserSessions(UserAudit uAudit)
         throws SecurityException
     {
@@ -169,6 +174,7 @@ public class AuditMgrImpl extends Manageable implements AuditMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<Mod> searchAdminMods(UserAudit uAudit)
         throws SecurityException
     {
@@ -189,6 +195,7 @@ public class AuditMgrImpl extends Manageable implements AuditMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<AuthZ> searchInvalidUsers(UserAudit uAudit)
         throws SecurityException
     {

http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/9ed8c10b/src/main/java/org/apache/directory/fortress/core/impl/DelAccessMgrImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/DelAccessMgrImpl.java b/src/main/java/org/apache/directory/fortress/core/impl/DelAccessMgrImpl.java
index e874e7a..db18613 100755
--- a/src/main/java/org/apache/directory/fortress/core/impl/DelAccessMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/DelAccessMgrImpl.java
@@ -25,6 +25,7 @@ import java.util.Set;
 import java.util.TreeSet;
 
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.directory.fortress.annotation.AdminPermissionOperation;
 import org.apache.directory.fortress.core.DelAccessMgr;
 import org.apache.directory.fortress.core.GlobalErrIds;
 import org.apache.directory.fortress.core.SecurityException;
@@ -213,6 +214,7 @@ public class DelAccessMgrImpl extends AccessMgrImpl implements DelAccessMgr, Ser
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<UserAdminRole> sessionAdminRoles(Session session)
         throws SecurityException
     {
@@ -226,6 +228,7 @@ public class DelAccessMgrImpl extends AccessMgrImpl implements DelAccessMgr, Ser
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Set<String> authorizedAdminRoles(Session session)
         throws SecurityException
     {
@@ -240,6 +243,7 @@ public class DelAccessMgrImpl extends AccessMgrImpl implements DelAccessMgr, Ser
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<Permission> sessionPermissions(Session session)
         throws SecurityException
     {

http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/9ed8c10b/src/main/java/org/apache/directory/fortress/core/impl/DelAdminMgrImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/DelAdminMgrImpl.java b/src/main/java/org/apache/directory/fortress/core/impl/DelAdminMgrImpl.java
index ab8041a..cbfc2ff 100755
--- a/src/main/java/org/apache/directory/fortress/core/impl/DelAdminMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/DelAdminMgrImpl.java
@@ -24,6 +24,7 @@ import java.util.List;
 import java.util.Set;
 
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.directory.fortress.annotation.AdminPermissionOperation;
 import org.apache.directory.fortress.core.AdminMgr;
 import org.apache.directory.fortress.core.AdminMgrFactory;
 import org.apache.directory.fortress.core.DelAdminMgr;
@@ -79,6 +80,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public AdminRole addRole(AdminRole role)
         throws SecurityException
     {
@@ -92,6 +94,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void deleteRole(AdminRole role)
         throws SecurityException
     {
@@ -134,6 +137,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public AdminRole updateRole(AdminRole role)
         throws SecurityException
     {
@@ -172,6 +176,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void assignUser(UserAdminRole uAdminRole)
         throws SecurityException
     {
@@ -203,6 +208,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void deassignUser(UserAdminRole uAdminRole)
         throws SecurityException
     {
@@ -222,6 +228,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public OrgUnit add(OrgUnit entity) throws SecurityException
     {
         String methodName = "addOU";
@@ -235,6 +242,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public OrgUnit update(OrgUnit entity)
         throws SecurityException
     {
@@ -249,6 +257,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public OrgUnit delete(OrgUnit entity)
         throws SecurityException
     {
@@ -324,6 +333,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void addDescendant(OrgUnit parent, OrgUnit child)
         throws SecurityException
     {
@@ -359,6 +369,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation(operationName="addAscendantOU")
     public void addAscendant(OrgUnit child, OrgUnit parent)
         throws SecurityException
     {
@@ -396,6 +407,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation(operationName="addInheritanceOU")
     public void addInheritance(OrgUnit parent, OrgUnit child)
         throws SecurityException
     {
@@ -435,6 +447,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation(operationName="deleteInheritanceOU")
     public void deleteInheritance(OrgUnit parent, OrgUnit child)
         throws SecurityException
     {
@@ -481,6 +494,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void addDescendant(AdminRole parentRole, AdminRole childRole)
         throws SecurityException
     {
@@ -501,6 +515,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void addAscendant(AdminRole childRole, AdminRole parentRole)
         throws SecurityException
     {
@@ -528,6 +543,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void addInheritance(AdminRole parentRole, AdminRole childRole)
         throws SecurityException
     {
@@ -557,6 +573,7 @@ public final class DelAdminMgrImpl extends Manageable implements DelAdminMgr, Se
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void deleteInheritance(AdminRole parentRole, AdminRole childRole)
         throws SecurityException
     {

http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/9ed8c10b/src/main/java/org/apache/directory/fortress/core/impl/DelReviewMgrImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/DelReviewMgrImpl.java b/src/main/java/org/apache/directory/fortress/core/impl/DelReviewMgrImpl.java
index aa8bf72..1cf4cb8 100755
--- a/src/main/java/org/apache/directory/fortress/core/impl/DelReviewMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/DelReviewMgrImpl.java
@@ -22,6 +22,7 @@ package org.apache.directory.fortress.core.impl;
 import java.io.Serializable;
 import java.util.List;
 
+import org.apache.directory.fortress.annotation.AdminPermissionOperation;
 import org.apache.directory.fortress.core.DelReviewMgr;
 import org.apache.directory.fortress.core.GlobalErrIds;
 import org.apache.directory.fortress.core.SecurityException;
@@ -71,6 +72,7 @@ public class DelReviewMgrImpl extends Manageable implements DelReviewMgr, Serial
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public AdminRole readRole(AdminRole role)
         throws SecurityException
     {
@@ -85,6 +87,7 @@ public class DelReviewMgrImpl extends Manageable implements DelReviewMgr, Serial
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<AdminRole> findRoles(String searchVal)
         throws SecurityException
     {
@@ -100,6 +103,7 @@ public class DelReviewMgrImpl extends Manageable implements DelReviewMgr, Serial
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<UserAdminRole> assignedRoles(User user)
         throws SecurityException
     {
@@ -115,6 +119,7 @@ public class DelReviewMgrImpl extends Manageable implements DelReviewMgr, Serial
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<User> assignedUsers(AdminRole role)
         throws SecurityException
     {
@@ -129,6 +134,7 @@ public class DelReviewMgrImpl extends Manageable implements DelReviewMgr, Serial
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation(operationName="readOU")
     public OrgUnit read(OrgUnit entity)
         throws SecurityException
     {
@@ -143,6 +149,7 @@ public class DelReviewMgrImpl extends Manageable implements DelReviewMgr, Serial
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation(operationName="searchOU")
     public List<OrgUnit> search(OrgUnit.Type type, String searchVal)
         throws SecurityException
     {
@@ -171,6 +178,7 @@ public class DelReviewMgrImpl extends Manageable implements DelReviewMgr, Serial
      * {@inheritDoc}
      */
 	@Override
+	@AdminPermissionOperation
 	public List<Permission> rolePermissions(AdminRole role,
 			boolean noInheritance) throws SecurityException {
         String methodName = "rolePermissions";

http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/9ed8c10b/src/main/java/org/apache/directory/fortress/core/impl/GroupMgrImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/GroupMgrImpl.java b/src/main/java/org/apache/directory/fortress/core/impl/GroupMgrImpl.java
index a768926..95aab61 100755
--- a/src/main/java/org/apache/directory/fortress/core/impl/GroupMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/GroupMgrImpl.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.directory.fortress.annotation.AdminPermissionOperation;
 import org.apache.directory.fortress.core.GlobalErrIds;
 import org.apache.directory.fortress.core.GroupMgr;
 import org.apache.directory.fortress.core.ReviewMgr;
@@ -52,6 +53,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Group add( Group group ) throws org.apache.directory.fortress.core.SecurityException
     {
         String methodName = "add";
@@ -78,6 +80,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Group update( Group group ) throws SecurityException
     {
         String methodName = "update";
@@ -91,6 +94,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Group delete( Group group ) throws SecurityException
     {
         String methodName = "delete";
@@ -103,6 +107,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr, Serializable
     /**
      * {@inheritDoc}
      */
+    @AdminPermissionOperation(operationName="addProperty")
     public Group add( Group group, String key, String value ) throws SecurityException
     {
         String methodName = "addProperty";
@@ -115,6 +120,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr, Serializable
     /**
      * {@inheritDoc}
      */
+    @AdminPermissionOperation(operationName="deleteProperty")
     public Group delete( Group group, String key, String value ) throws SecurityException
     {
         String methodName = "deleteProperty";
@@ -128,6 +134,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Group read( Group group ) throws SecurityException
     {
         String methodName = "read";
@@ -141,6 +148,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<Group> find( Group group ) throws SecurityException
     {
         String methodName = "find";
@@ -153,6 +161,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr, Serializable
     /**
      * {@inheritDoc}
      */
+    @AdminPermissionOperation(operationName="findWithUsers")
     public List<Group> find( User user ) throws SecurityException
     {
         String methodName = "findWithUsers";
@@ -167,6 +176,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<Group> roleGroups( Role role ) throws SecurityException
     {
         String methodName = "roleGroups";
@@ -181,6 +191,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<UserRole> groupRoles( Group group ) throws SecurityException
     {
         String methodName = "groupRoles";
@@ -194,6 +205,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Group assign( Group group, String member ) throws SecurityException
     {
         String methodName = "assign";
@@ -225,6 +237,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Group deassign( Group group, String member ) throws SecurityException
     {
         String methodName = "deassign";

http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/9ed8c10b/src/main/java/org/apache/directory/fortress/core/impl/PwPolicyMgrImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/PwPolicyMgrImpl.java b/src/main/java/org/apache/directory/fortress/core/impl/PwPolicyMgrImpl.java
index b936a7a..d30826a 100755
--- a/src/main/java/org/apache/directory/fortress/core/impl/PwPolicyMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/PwPolicyMgrImpl.java
@@ -21,6 +21,7 @@ package org.apache.directory.fortress.core.impl;
 
 import java.util.List;
 
+import org.apache.directory.fortress.annotation.AdminPermissionOperation;
 import org.apache.directory.fortress.core.GlobalErrIds;
 import org.apache.directory.fortress.core.PwPolicyMgr;
 import org.apache.directory.fortress.core.SecurityException;
@@ -78,6 +79,7 @@ public class PwPolicyMgrImpl  extends Manageable implements PwPolicyMgr
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void add(PwPolicy policy)
         throws SecurityException
     {
@@ -92,6 +94,7 @@ public class PwPolicyMgrImpl  extends Manageable implements PwPolicyMgr
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void update(PwPolicy policy)
         throws SecurityException
     {
@@ -106,6 +109,7 @@ public class PwPolicyMgrImpl  extends Manageable implements PwPolicyMgr
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void delete(PwPolicy policy)
         throws SecurityException
     {
@@ -121,6 +125,7 @@ public class PwPolicyMgrImpl  extends Manageable implements PwPolicyMgr
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public PwPolicy read(String name)
         throws SecurityException
     {
@@ -137,6 +142,7 @@ public class PwPolicyMgrImpl  extends Manageable implements PwPolicyMgr
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<PwPolicy> search(String searchVal)
         throws SecurityException
     {
@@ -153,6 +159,7 @@ public class PwPolicyMgrImpl  extends Manageable implements PwPolicyMgr
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void updateUserPolicy(String userId, String policyName)
         throws SecurityException
     {
@@ -171,6 +178,7 @@ public class PwPolicyMgrImpl  extends Manageable implements PwPolicyMgr
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public void deletePasswordPolicy(String userId)
         throws SecurityException
     {

http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/9ed8c10b/src/main/java/org/apache/directory/fortress/core/impl/ReviewMgrImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/ReviewMgrImpl.java b/src/main/java/org/apache/directory/fortress/core/impl/ReviewMgrImpl.java
index a7136c6..95be6c1 100755
--- a/src/main/java/org/apache/directory/fortress/core/impl/ReviewMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/ReviewMgrImpl.java
@@ -28,6 +28,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.directory.fortress.annotation.AdminPermissionOperation;
 import org.apache.directory.fortress.core.GlobalErrIds;
 import org.apache.directory.fortress.core.ReviewMgr;
 import org.apache.directory.fortress.core.SecurityException;
@@ -93,6 +94,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Permission readPermission(Permission permission)
         throws SecurityException
     {
@@ -108,6 +110,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public PermObj readPermObj(PermObj permObj)
         throws SecurityException
     {
@@ -122,6 +125,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public PermissionAttributeSet readPermAttributeSet( PermissionAttributeSet permAttributeSet )
     		throws SecurityException
     {
@@ -138,6 +142,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<Permission> findPermissions(Permission permission)
         throws SecurityException
     {
@@ -151,6 +156,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
 	@Override
+	@AdminPermissionOperation
 	public List<Permission> findPermsByObj(PermObj permObj)
 			throws SecurityException {
         String methodName = "findPermsByObj";
@@ -164,6 +170,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<Permission> findAnyPermissions(Permission permission)
         throws SecurityException
     {
@@ -177,6 +184,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<PermObj> findPermObjs(PermObj permObj)
         throws SecurityException
     {
@@ -190,6 +198,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<PermObj> findPermObjs(OrgUnit ou)
         throws SecurityException
     {
@@ -204,6 +213,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Role readRole(Role role)
         throws SecurityException
     {
@@ -218,6 +228,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<Role> findRoles(String searchVal)
         throws SecurityException
     {
@@ -233,6 +244,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<String> findRoles(String searchVal, int limit)
         throws SecurityException
     {
@@ -248,6 +260,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public final User readUser(User user)
         throws SecurityException
     {
@@ -262,6 +275,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public final List<User> findUsers(User user)
         throws SecurityException
     {
@@ -275,6 +289,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<User> findUsers(OrgUnit ou)
         throws SecurityException
     {
@@ -289,6 +304,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public final List<String> findUsers(User user, int limit)
         throws SecurityException
     {
@@ -302,6 +318,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<String> assignedUsers(Role role, int limit)
         throws SecurityException
     {
@@ -330,6 +347,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<User> assignedUsers(Role role)
         throws SecurityException
     {
@@ -343,6 +361,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<UserRole> assignedRoles(User user)
         throws SecurityException
     {
@@ -357,6 +376,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<String> assignedRoles(String userId)
         throws SecurityException
     {
@@ -372,6 +392,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<User> authorizedUsers(Role role)
         throws SecurityException
     {
@@ -385,6 +406,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Set<String> authorizedRoles(User user)
         throws SecurityException
     {
@@ -415,6 +437,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<Permission> rolePermissions(Role role, boolean noInheritance )
         throws SecurityException
     {
@@ -457,6 +480,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<Permission> userPermissions(User user)
         throws SecurityException
     {
@@ -472,6 +496,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<String> permissionRoles(Permission perm)
         throws SecurityException
     {
@@ -495,6 +520,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Set<String> authorizedPermissionRoles(Permission perm)
         throws SecurityException
     {
@@ -514,6 +540,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<String> permissionUsers(Permission perm)
         throws SecurityException
     {
@@ -537,6 +564,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Set<String> authorizedPermissionUsers(Permission perm)
         throws SecurityException
     {
@@ -587,6 +615,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<SDSet> ssdRoleSets(Role role)
         throws SecurityException
     {
@@ -599,6 +628,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
     /**
      * {@inheritDoc}
      */
+    @AdminPermissionOperation
     public List<SDSet> ssdSets(SDSet ssd)
         throws SecurityException
     {
@@ -613,6 +643,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public SDSet ssdRoleSet(SDSet set)
         throws SecurityException
     {
@@ -627,6 +658,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Set<String> ssdRoleSetRoles(SDSet ssd)
         throws SecurityException
     {
@@ -642,6 +674,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public int ssdRoleSetCardinality(SDSet ssd)
         throws SecurityException
     {
@@ -656,6 +689,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<SDSet> dsdRoleSets(Role role)
         throws SecurityException
     {
@@ -669,6 +703,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public SDSet dsdRoleSet(SDSet set)
         throws SecurityException
     {
@@ -682,6 +717,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
     /**
      * {@inheritDoc}
      */
+    @AdminPermissionOperation
     public List<SDSet> dsdSets(SDSet ssd)
         throws SecurityException
     {
@@ -696,6 +732,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public Set<String> dsdRoleSetRoles(SDSet dsd)
         throws SecurityException
     {
@@ -711,6 +748,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public int dsdRoleSetCardinality(SDSet dsd)
         throws SecurityException
     {
@@ -725,6 +763,7 @@ public class ReviewMgrImpl extends Manageable implements ReviewMgr, Serializable
      * {@inheritDoc}
      */
     @Override
+    @AdminPermissionOperation
     public List<RoleConstraint> findRoleConstraints(User user, Permission permission, RoleConstraint.RCType rcType) throws SecurityException
     {
         String methodName = "findRoleConstraints";

http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/9ed8c10b/src/main/java/org/apache/directory/fortress/core/util/AdminPermissionUtil.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/util/AdminPermissionUtil.java b/src/main/java/org/apache/directory/fortress/core/util/AdminPermissionUtil.java
new file mode 100644
index 0000000..84762dc
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/util/AdminPermissionUtil.java
@@ -0,0 +1,65 @@
+package org.apache.directory.fortress.core.util;
+
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.directory.fortress.annotation.AdminPermissionOperation;
+import org.apache.directory.fortress.core.impl.AccessMgrImpl;
+import org.apache.directory.fortress.core.impl.AdminMgrImpl;
+import org.apache.directory.fortress.core.impl.AuditMgrImpl;
+import org.apache.directory.fortress.core.impl.DelAccessMgrImpl;
+import org.apache.directory.fortress.core.impl.DelAdminMgrImpl;
+import org.apache.directory.fortress.core.impl.DelReviewMgrImpl;
+import org.apache.directory.fortress.core.impl.GroupMgrImpl;
+import org.apache.directory.fortress.core.impl.PwPolicyMgrImpl;
+import org.apache.directory.fortress.core.impl.ReviewMgrImpl;
+
+
+public class AdminPermissionUtil
+{
+
+    public static Map<String, List<String>> getPossibleAdminOperations()
+    {
+        Map<String, List<String>> adminOperations = new HashMap<String, List<String>>();
+        
+        adminOperations.put( AccessMgrImpl.class.getCanonicalName(), AdminPermissionUtil.getOperations( AccessMgrImpl.class ) );
+        adminOperations.put( AdminMgrImpl.class.getCanonicalName(), AdminPermissionUtil.getOperations( AdminMgrImpl.class ) );
+        adminOperations.put( AuditMgrImpl.class.getCanonicalName(), AdminPermissionUtil.getOperations( AuditMgrImpl.class ) );
+        adminOperations.put( DelAdminMgrImpl.class.getCanonicalName(), AdminPermissionUtil.getOperations( DelAdminMgrImpl.class ) );
+        adminOperations.put( DelAccessMgrImpl.class.getCanonicalName(), AdminPermissionUtil.getOperations( DelAccessMgrImpl.class ) );
+        adminOperations.put( DelReviewMgrImpl.class.getCanonicalName(), AdminPermissionUtil.getOperations( DelReviewMgrImpl.class ) );
+        adminOperations.put( GroupMgrImpl.class.getCanonicalName(), AdminPermissionUtil.getOperations( GroupMgrImpl.class ) );
+        adminOperations.put( PwPolicyMgrImpl.class.getCanonicalName(), AdminPermissionUtil.getOperations( PwPolicyMgrImpl.class ) );
+        adminOperations.put( ReviewMgrImpl.class.getCanonicalName(), AdminPermissionUtil.getOperations( ReviewMgrImpl.class ) );
+        
+        return adminOperations;
+    }
+
+
+    private static List<String> getOperations( Class clazz )
+    {
+        List<String> operations = new ArrayList<String>();
+        
+        final Method[] declaredMethods = clazz.getDeclaredMethods();
+        for ( final Method method : declaredMethods )
+        {
+            if ( method.isAnnotationPresent( AdminPermissionOperation.class ) )
+            {
+                AdminPermissionOperation annotation = method.getAnnotation( AdminPermissionOperation.class );
+                if(annotation.operationName() != null && !annotation.operationName().isEmpty()){
+                    operations.add( annotation.operationName() );
+                }
+                else{
+                    operations.add( method.getName() );
+                }
+            }
+        }
+        
+        return operations;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/9ed8c10b/src/test/java/org/apache/directory/fortress/core/util/AdminPermissionUtilTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/directory/fortress/core/util/AdminPermissionUtilTest.java b/src/test/java/org/apache/directory/fortress/core/util/AdminPermissionUtilTest.java
new file mode 100644
index 0000000..44e5473
--- /dev/null
+++ b/src/test/java/org/apache/directory/fortress/core/util/AdminPermissionUtilTest.java
@@ -0,0 +1,47 @@
+
+package org.apache.directory.fortress.core.util;
+
+import java.util.List;
+import java.util.Map;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class AdminPermissionUtilTest
+{
+
+    @Test
+    public void getPossibleAdminPermissions(){
+        Map<String, List<String>> operations = AdminPermissionUtil.getPossibleAdminOperations();
+        
+        assertNotNull( operations );
+        assertTrue(operations.containsKey( "org.apache.directory.fortress.core.impl.AccessMgrImpl" ));
+        assertTrue(operations.get( "org.apache.directory.fortress.core.impl.AccessMgrImpl" ).size() > 0);
+        
+        assertTrue(operations.containsKey( "org.apache.directory.fortress.core.impl.AdminMgrImpl" ));
+        assertTrue(operations.get( "org.apache.directory.fortress.core.impl.AdminMgrImpl" ).size() > 0);
+        
+        assertTrue(operations.containsKey( "org.apache.directory.fortress.core.impl.AuditMgrImpl" ));
+        assertTrue(operations.get( "org.apache.directory.fortress.core.impl.AuditMgrImpl" ).size() > 0);
+        
+        assertTrue(operations.containsKey( "org.apache.directory.fortress.core.impl.DelAdminMgrImpl" ));
+        assertTrue(operations.get( "org.apache.directory.fortress.core.impl.DelAdminMgrImpl" ).size() > 0);
+        
+        assertTrue(operations.containsKey( "org.apache.directory.fortress.core.impl.DelAccessMgrImpl" ));
+        assertTrue(operations.get( "org.apache.directory.fortress.core.impl.DelAccessMgrImpl" ).size() > 0);
+        
+        assertTrue(operations.containsKey( "org.apache.directory.fortress.core.impl.DelReviewMgrImpl" ));
+        assertTrue(operations.get( "org.apache.directory.fortress.core.impl.DelReviewMgrImpl" ).size() > 0);
+        
+        assertTrue(operations.containsKey( "org.apache.directory.fortress.core.impl.GroupMgrImpl" ));
+        assertTrue(operations.get( "org.apache.directory.fortress.core.impl.GroupMgrImpl" ).size() > 0);
+        
+        assertTrue(operations.containsKey( "org.apache.directory.fortress.core.impl.PwPolicyMgrImpl" ));
+        assertTrue(operations.get( "org.apache.directory.fortress.core.impl.PwPolicyMgrImpl" ).size() > 0);
+        
+        assertTrue(operations.containsKey( "org.apache.directory.fortress.core.impl.ReviewMgrImpl" ));
+        assertTrue(operations.get( "org.apache.directory.fortress.core.impl.ReviewMgrImpl" ).size() > 0);
+    }
+    
+}


[2/2] directory-fortress-core git commit: Merge branch 'master' of http://git-wip-us.apache.org/repos/asf/directory-fortress-core

Posted by cp...@apache.org.
Merge branch 'master' of http://git-wip-us.apache.org/repos/asf/directory-fortress-core


Project: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/commit/45a69319
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/45a69319
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/45a69319

Branch: refs/heads/master
Commit: 45a693193341b4dfe96f0114d6f8e5bc0ad0e449
Parents: 9ed8c10 eaff971
Author: clp207 <cl...@psu.edu>
Authored: Wed May 31 13:12:07 2017 -0400
Committer: clp207 <cl...@psu.edu>
Committed: Wed May 31 13:12:07 2017 -0400

----------------------------------------------------------------------
 build-config.xml | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)
----------------------------------------------------------------------