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()