Author: jmcconnell
Date: Fri Sep 15 10:15:23 2006
New Revision: 446659

URL: http://svn.apache.org/viewvc?view=rev&rev=446659
Log:
aligned the UserManagementAction with the cleaned up SecureAction interface in 
plexus-security

Modified:
    
maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/UserManagementAction.java

Modified: 
maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/UserManagementAction.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/UserManagementAction.java?view=diff&rev=446659&r1=446658&r2=446659
==============================================================================
--- 
maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/UserManagementAction.java
 (original)
+++ 
maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/UserManagementAction.java
 Fri Sep 15 10:15:23 2006
@@ -18,6 +18,7 @@
 
 import com.opensymphony.xwork.Preparable;
 import org.codehaus.plexus.security.rbac.RBACManager;
+import org.codehaus.plexus.security.rbac.Resource;
 import org.codehaus.plexus.security.system.SecuritySession;
 import org.codehaus.plexus.security.user.User;
 import org.codehaus.plexus.security.user.UserManager;
@@ -25,6 +26,7 @@
 import org.codehaus.plexus.security.user.UserManagerException;
 import 
org.codehaus.plexus.security.authorization.rbac.web.interceptor.SecureAction;
 import 
org.codehaus.plexus.security.authorization.rbac.web.interceptor.SecureActionException;
+import 
org.codehaus.plexus.security.authorization.rbac.web.interceptor.SecureActionBundle;
 import org.codehaus.plexus.xwork.action.PlexusActionSupport;
 
 import java.util.ArrayList;
@@ -179,36 +181,30 @@
     }
 
 
-    public List getRequiredOperations()
-        throws SecureActionException
-    {
-        List operations = new ArrayList();
-        operations.add( "edit-all-users" );
-        operations.add( "edit-user" );
-        return operations;
-    }
-
-    public String getRequiredResource()
+    public SecureActionBundle getSecureActionBundle()
         throws SecureActionException
     {
+        // actions are per lookup and this will only be executed once per 
action instance
+        // so no need to cache it or convert to class field.
+        SecureActionBundle bundle = new SecureActionBundle();
+
+        bundle.setRequiresAuthentication( true );
+        bundle.requiresAuthorization( "edit-all-users", Resource.GLOBAL);
+        
         SecuritySession securitySession = (SecuritySession) session.get( 
SecuritySession.ROLE );
 
         User user = securitySession.getUser();
 
         if ( user != null )
         {
-            return user.getPrincipal().toString();
+           bundle.requiresAuthorization( "edit-user", 
user.getPrincipal().toString() );
         }
         else
         {
             throw new SecureActionException( "unable to obtain principal from 
users session" );
         }
-    }
 
-    public boolean authenticationRequired()
-        throws SecureActionException
-    {
-        return true;
+        return bundle;
     }
 
     public String getUsername()


Reply via email to