From 83330beec2e1a183d81ffc4391c22f60c39676e4 Mon Sep 17 00:00:00 2001 From: Jesse McConnell Date: Tue, 19 Sep 2006 08:43:03 +0000 Subject: [PATCH] new plexus-security snapshots with the authz mostly working minus some formatting and an odd duplication issue I am lookin into now to see if its a ui quirk. git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@447780 13f79535-47bb-0310-9956-ffa450edef68 --- archiva-webapp/pom.xml | 5 +++++ .../archiva/web/DefaultArchivaDefaults.java | 2 +- .../interceptor/ConfigurationInterceptor.java | 13 ++++++++----- .../servlet/repository/RepositoryAccess.java | 8 ++++---- .../main/webapp/WEB-INF/jsp/admin/index.jsp | 2 +- .../src/main/webapp/WEB-INF/jsp/browse.jsp | 2 +- .../webapp/WEB-INF/jsp/decorators/default.jsp | 19 ++++++++++--------- .../webapp/WEB-INF/jsp/reports/reports.jsp | 2 +- 8 files changed, 31 insertions(+), 22 deletions(-) diff --git a/archiva-webapp/pom.xml b/archiva-webapp/pom.xml index da1ca02f9..8a51abed4 100644 --- a/archiva-webapp/pom.xml +++ b/archiva-webapp/pom.xml @@ -139,6 +139,11 @@ plexus-security-ui-web-integration 1.0-SNAPSHOT + + org.codehaus.plexus.security + plexus-security-ui-web-taglib + 1.0-SNAPSHOT + org.codehaus.plexus.security plexus-security-ui-web-rbac diff --git a/archiva-webapp/src/main/java/org/apache/maven/archiva/web/DefaultArchivaDefaults.java b/archiva-webapp/src/main/java/org/apache/maven/archiva/web/DefaultArchivaDefaults.java index d45de4eb7..8f6f8a22a 100644 --- a/archiva-webapp/src/main/java/org/apache/maven/archiva/web/DefaultArchivaDefaults.java +++ b/archiva-webapp/src/main/java/org/apache/maven/archiva/web/DefaultArchivaDefaults.java @@ -55,7 +55,7 @@ public class DefaultArchivaDefaults */ private UserSecurityPolicy securityPolicy; - private boolean initialized; + private boolean initialized = false; private User guestUser; diff --git a/archiva-webapp/src/main/java/org/apache/maven/archiva/web/interceptor/ConfigurationInterceptor.java b/archiva-webapp/src/main/java/org/apache/maven/archiva/web/interceptor/ConfigurationInterceptor.java index a164d2d57..cb6cc4fe4 100644 --- a/archiva-webapp/src/main/java/org/apache/maven/archiva/web/interceptor/ConfigurationInterceptor.java +++ b/archiva-webapp/src/main/java/org/apache/maven/archiva/web/interceptor/ConfigurationInterceptor.java @@ -21,6 +21,7 @@ import com.opensymphony.xwork.interceptor.Interceptor; import org.apache.maven.archiva.configuration.Configuration; import org.apache.maven.archiva.configuration.ConfigurationStore; import org.apache.maven.archiva.web.util.RoleManager; +import org.apache.maven.archiva.web.ArchivaDefaults; import org.codehaus.plexus.logging.AbstractLogEnabled; import org.codehaus.plexus.security.rbac.RBACManager; @@ -49,6 +50,11 @@ public class ConfigurationInterceptor */ private RBACManager rbacManager; + /** + * @plexus.requirement + */ + private ArchivaDefaults archivaDefaults; + /** * * @param actionInvocation @@ -58,12 +64,9 @@ public class ConfigurationInterceptor public String intercept( ActionInvocation actionInvocation ) throws Exception { + archivaDefaults.ensureDefaultsExist(); -// if ( rbacManager.getAllUserAssignments().size() == 0 ) -// { -// getLogger().info( "no accounts setup, create user account, forwarding to registration" ); -// return "admin-account-needed"; -// } + // determine if we need an admin account made Configuration configuration = configurationStore.getConfigurationFromStore(); diff --git a/archiva-webapp/src/main/java/org/apache/maven/archiva/web/servlet/repository/RepositoryAccess.java b/archiva-webapp/src/main/java/org/apache/maven/archiva/web/servlet/repository/RepositoryAccess.java index 6728528fd..e7debf74f 100644 --- a/archiva-webapp/src/main/java/org/apache/maven/archiva/web/servlet/repository/RepositoryAccess.java +++ b/archiva-webapp/src/main/java/org/apache/maven/archiva/web/servlet/repository/RepositoryAccess.java @@ -27,11 +27,11 @@ import org.apache.maven.archiva.web.servlet.AbstractPlexusServlet; import org.codehaus.plexus.security.authentication.AuthenticationException; import org.codehaus.plexus.security.authentication.AuthenticationResult; import org.codehaus.plexus.security.authorization.AuthorizationException; -import org.codehaus.plexus.security.policy.AccountLockedException; -import org.codehaus.plexus.security.policy.MustChangePasswordException; import org.codehaus.plexus.security.system.SecuritySession; import org.codehaus.plexus.security.system.SecuritySystem; import org.codehaus.plexus.security.ui.web.filter.authentication.HttpAuthenticator; +import org.codehaus.plexus.security.policy.AccountLockedException; +import org.codehaus.plexus.security.policy.MustChangePasswordException; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.StringUtils; @@ -161,12 +161,12 @@ public class RepositoryAccess } catch ( AccountLockedException e ) { - httpAuth.challenge( request, response, "Repository " + repoconfig.getName(), + httpAuth.challenge( request, response, "Repository " + repoconfig.getName(), new AuthenticationException("User account is locked") ); } catch ( MustChangePasswordException e ) { - httpAuth.challenge( request, response, "Repository " + repoconfig.getName(), + httpAuth.challenge( request, response, "Repository " + repoconfig.getName(), new AuthenticationException("You must change your password before you can attempt this again.") ); } diff --git a/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/index.jsp b/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/index.jsp index 0ab091973..852891861 100644 --- a/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/index.jsp +++ b/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/index.jsp @@ -16,7 +16,7 @@ <%@ taglib prefix="ww" uri="/webwork" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="pss" uri="plexusSecuritySystem" %> +<%@ taglib prefix="pss" uri="/plexusSecuritySystem" %> diff --git a/archiva-webapp/src/main/webapp/WEB-INF/jsp/browse.jsp b/archiva-webapp/src/main/webapp/WEB-INF/jsp/browse.jsp index 2c2395c04..02576ee2f 100644 --- a/archiva-webapp/src/main/webapp/WEB-INF/jsp/browse.jsp +++ b/archiva-webapp/src/main/webapp/WEB-INF/jsp/browse.jsp @@ -16,7 +16,7 @@ <%@ taglib prefix="ww" uri="/webwork" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="pss" uri="plexusSecuritySystem" %> +<%@ taglib prefix="pss" uri="/plexusSecuritySystem" %> diff --git a/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp b/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp index 0754b30c1..702651fb9 100644 --- a/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp +++ b/archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp @@ -18,7 +18,7 @@ <%@ taglib uri="/webwork" prefix="ww" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib prefix="my" tagdir="/WEB-INF/tags" %> -<%@ taglib prefix="pss" uri="plexusSecuritySystem" %> +<%@ taglib prefix="pss" uri="/plexusSecuritySystem" %> Maven Archiva :: @@ -106,15 +106,15 @@ </li> --%> <pss:ifAnyAuthorized permissions="edit-configuration,edit-all-users"> - <li class="expanded"> - <pss:ifAuthorized permission="edit-all-users"> - <my:currentWWUrl action="userManagement!input" namespace="/admin">User Management</my:currentWWUrl> - </pss:ifAuthorized> - </li> - <li> - <pss:ifAuthorized permission="edit-configuration"> + <pss:ifAuthorized permission="edit-all-users"> + <li class="none"> + <my:currentWWUrl action="userlist" namespace="/security">User Management</my:currentWWUrl> + </li> + </pss:ifAuthorized> + <pss:ifAuthorized permission="edit-configuration"> + <li class="none"> <my:currentWWUrl action="index" namespace="/admin">Administration</my:currentWWUrl> - </pss:ifAuthorized> + <ul> <li class="none"> @@ -128,6 +128,7 @@ --%> </ul> </li> + </pss:ifAuthorized> </pss:ifAnyAuthorized> </ul> </pss:ifAnyAuthorized> diff --git a/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/reports.jsp b/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/reports.jsp index 5f68926d1..fb9ac1902 100644 --- a/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/reports.jsp +++ b/archiva-webapp/src/main/webapp/WEB-INF/jsp/reports/reports.jsp @@ -18,7 +18,7 @@ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> -<%@ taglib prefix="pss" uri="plexusSecuritySystem" %> +<%@ taglib prefix="pss" uri="/plexusSecuritySystem" %> <html> <head> -- 2.39.5