From 775dba3343b0ebe2ecdcf4cdc0b582ed6490919e Mon Sep 17 00:00:00 2001 From: Alexandre Porcelli Date: Mon, 10 Feb 2014 21:29:51 -0200 Subject: [PATCH] BZ-1060747: remove weld extensions by using @Alternative Conflicts: uberfire-api/src/main/java/org/uberfire/rpc/impl/SessionInfoImpl.java uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/HttpAuthenticationManager.java uberfire-security/uberfire-security-server/src/main/resources/META-INF/beans.xml --- .../uberfire/rpc/impl/SessionInfoImpl.java | 8 +++-- .../src/main/resources/META-INF/beans.xml | 9 +----- .../RepositoryAuthorizationManager.java | 3 ++ .../authz/RuntimeAuthorizationManager.java | 19 +++++++----- .../auth/HttpAuthenticationManager.java | 29 +++++++++---------- .../auth/impl/JAASAuthenticationManager.java | 3 ++ .../impl/PropertyAuthenticationManager.java | 3 ++ .../SimpleUserPassAuthenticationManager.java | 3 ++ .../security/server/cdi/SecurityFactory.java | 7 ++--- .../src/main/resources/META-INF/beans.xml | 12 +------- 10 files changed, 47 insertions(+), 49 deletions(-) diff --git a/uberfire-api/src/main/java/org/uberfire/rpc/impl/SessionInfoImpl.java b/uberfire-api/src/main/java/org/uberfire/rpc/impl/SessionInfoImpl.java index 97d42fbbab..2eae45ca87 100644 --- a/uberfire-api/src/main/java/org/uberfire/rpc/impl/SessionInfoImpl.java +++ b/uberfire-api/src/main/java/org/uberfire/rpc/impl/SessionInfoImpl.java @@ -1,11 +1,13 @@ package org.uberfire.rpc.impl; -import static org.uberfire.commons.validation.PortablePreconditions.checkNotEmpty; -import static org.uberfire.commons.validation.PortablePreconditions.checkNotNull; +import javax.enterprise.inject.Alternative; import org.uberfire.rpc.SessionInfo; import org.uberfire.security.Identity; +import static org.uberfire.commons.validation.PortablePreconditions.*; + +@Alternative public class SessionInfoImpl implements SessionInfo { private String id; @@ -66,7 +68,7 @@ public int hashCode() { @Override public String toString() { - return "SessionInfoImpl [id=" + id + ", identity=" + identity + "]"; + return "SessionInfoImpl [id=" + id + ", identity=" + identity + "]"; } } diff --git a/uberfire-api/src/main/resources/META-INF/beans.xml b/uberfire-api/src/main/resources/META-INF/beans.xml index a1ea6a6da5..6ee5f6e8a2 100644 --- a/uberfire-api/src/main/resources/META-INF/beans.xml +++ b/uberfire-api/src/main/resources/META-INF/beans.xml @@ -1,13 +1,6 @@ + http://java.sun.com/xml/ns/javaee http://docs.jboss.org/cdi/beans_1_0.xsd"> - - - - - diff --git a/uberfire-backend/uberfire-backend-server/src/main/java/org/uberfire/backend/server/security/RepositoryAuthorizationManager.java b/uberfire-backend/uberfire-backend-server/src/main/java/org/uberfire/backend/server/security/RepositoryAuthorizationManager.java index 65b340be69..770e9292a5 100644 --- a/uberfire-backend/uberfire-backend-server/src/main/java/org/uberfire/backend/server/security/RepositoryAuthorizationManager.java +++ b/uberfire-backend/uberfire-backend-server/src/main/java/org/uberfire/backend/server/security/RepositoryAuthorizationManager.java @@ -16,6 +16,8 @@ package org.uberfire.backend.server.security; +import javax.enterprise.inject.Alternative; + import org.uberfire.backend.repositories.Repository; import org.uberfire.backend.server.repositories.RepositoryServiceImpl; import org.uberfire.java.nio.file.FileSystem; @@ -33,6 +35,7 @@ import static org.uberfire.commons.validation.PortablePreconditions.*; import static org.uberfire.security.authz.AuthorizationResult.*; +@Alternative public class RepositoryAuthorizationManager implements AuthorizationManager { private final RuntimeResourceDecisionManager decisionManager = new RuntimeResourceDecisionManager( new RuntimeResourceManager() ); diff --git a/uberfire-security/uberfire-security-api/src/main/java/org/uberfire/security/impl/authz/RuntimeAuthorizationManager.java b/uberfire-security/uberfire-security-api/src/main/java/org/uberfire/security/impl/authz/RuntimeAuthorizationManager.java index 18941d262c..db786bede1 100644 --- a/uberfire-security/uberfire-security-api/src/main/java/org/uberfire/security/impl/authz/RuntimeAuthorizationManager.java +++ b/uberfire-security/uberfire-security-api/src/main/java/org/uberfire/security/impl/authz/RuntimeAuthorizationManager.java @@ -21,6 +21,7 @@ import static org.uberfire.security.authz.AuthorizationResult.ACCESS_GRANTED; import javax.enterprise.context.ApplicationScoped; +import javax.enterprise.inject.Alternative; import org.uberfire.security.Resource; import org.uberfire.security.Subject; @@ -30,29 +31,31 @@ import org.uberfire.security.authz.RoleDecisionManager; @ApplicationScoped +@Alternative public class RuntimeAuthorizationManager implements AuthorizationManager { private final RuntimeResourceManager resourceManager = new RuntimeResourceManager(); - private final RuntimeResourceDecisionManager decisionManager = new RuntimeResourceDecisionManager(resourceManager); + private final RuntimeResourceDecisionManager decisionManager = new RuntimeResourceDecisionManager( resourceManager ); private final RoleDecisionManager roleDecisionManager = new DefaultRoleDecisionManager(); @Override - public boolean supports(final Resource resource) { - return resourceManager.supports(resource); + public boolean supports( final Resource resource ) { + return resourceManager.supports( resource ); } @Override - public boolean authorize(final Resource resource, final Subject subject) + public boolean authorize( final Resource resource, + final Subject subject ) throws AuthorizationException { - if (!resourceManager.requiresAuthentication(resource)) { + if ( !resourceManager.requiresAuthentication( resource ) ) { return true; } - checkNotNull("subject", subject); + checkNotNull( "subject", subject ); - final AuthorizationResult finalResult = decisionManager.decide(resource, subject, roleDecisionManager); + final AuthorizationResult finalResult = decisionManager.decide( resource, subject, roleDecisionManager ); - if (finalResult.equals(ACCESS_ABSTAIN) || finalResult.equals(ACCESS_GRANTED)) { + if ( finalResult.equals( ACCESS_ABSTAIN ) || finalResult.equals( ACCESS_GRANTED ) ) { return true; } diff --git a/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/HttpAuthenticationManager.java b/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/HttpAuthenticationManager.java index 808d7fe499..06147de79a 100644 --- a/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/HttpAuthenticationManager.java +++ b/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/HttpAuthenticationManager.java @@ -16,18 +16,11 @@ package org.uberfire.security.server.auth; -import static org.uberfire.commons.validation.PortablePreconditions.checkNotEmpty; -import static org.uberfire.commons.validation.PortablePreconditions.checkNotNull; -import static org.uberfire.commons.validation.Preconditions.checkInstanceOf; -import static org.uberfire.security.Role.ROLE_REMEMBER_ME; -import static org.uberfire.security.auth.AuthenticationStatus.FAILED; -import static org.uberfire.security.auth.AuthenticationStatus.SUCCESS; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; - +import javax.enterprise.inject.Alternative; import javax.servlet.RequestDispatcher; import org.uberfire.security.ResourceManager; @@ -50,6 +43,13 @@ import org.uberfire.security.server.SecurityConstants; import org.uberfire.security.server.cdi.SecurityFactory; +import static org.uberfire.commons.validation.PortablePreconditions.checkNotEmpty; +import static org.uberfire.commons.validation.PortablePreconditions.checkNotNull; +import static org.uberfire.commons.validation.Preconditions.*; +import static org.uberfire.security.Role.*; +import static org.uberfire.security.auth.AuthenticationStatus.*; + +@Alternative public class HttpAuthenticationManager implements AuthenticationManager { private final List authSchemes; @@ -109,7 +109,7 @@ public Subject authenticate( final SecurityContext context ) throws Authenticati String preservedQueryStr = httpContext.getRequest().getQueryString(); - if (preservedQueryStr == null) { + if ( preservedQueryStr == null ) { preservedQueryStr = ""; } else { preservedQueryStr = "?" + preservedQueryStr; @@ -126,7 +126,7 @@ public Subject authenticate( final SecurityContext context ) throws Authenticati // prepend context path for context-relative forceURLs String contextPrefix = ""; - if (forceURL.startsWith( "/" )) { + if ( forceURL.startsWith( "/" ) ) { contextPrefix = httpContext.getRequest().getContextPath(); } @@ -228,11 +228,10 @@ private boolean useRedirect( String originalRequest ) { @Override public String toString() { - return "HttpAuthenticationManager [authSchemes=" + authSchemes + ", authProviders=" + authProviders - + ", roleProviders=" + roleProviders + ", subjectPropertiesProviders=" + subjectPropertiesProviders - + ", authStorageProviders=" + authStorageProviders + ", resourceManager=" + resourceManager - + ", requestCache=" + requestCache + ", forceURL=" + forceURL + "]"; + return "HttpAuthenticationManager [authSchemes=" + authSchemes + ", authProviders=" + authProviders + + ", roleProviders=" + roleProviders + ", subjectPropertiesProviders=" + subjectPropertiesProviders + + ", authStorageProviders=" + authStorageProviders + ", resourceManager=" + resourceManager + + ", requestCache=" + requestCache + ", forceURL=" + forceURL + "]"; } - } diff --git a/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/impl/JAASAuthenticationManager.java b/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/impl/JAASAuthenticationManager.java index 02052e2466..c1dd6ff7ec 100644 --- a/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/impl/JAASAuthenticationManager.java +++ b/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/impl/JAASAuthenticationManager.java @@ -2,12 +2,15 @@ import java.util.HashMap; +import javax.enterprise.inject.Alternative; + import org.uberfire.security.auth.SubjectPropertiesProvider; import org.uberfire.security.server.auth.BasicUserPassAuthenticationScheme; import org.uberfire.security.server.auth.source.JAASAuthenticationSource; import static org.uberfire.security.server.SecurityConstants.*; +@Alternative public class JAASAuthenticationManager extends SimpleUserPassAuthenticationManager { public JAASAuthenticationManager() { diff --git a/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/impl/PropertyAuthenticationManager.java b/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/impl/PropertyAuthenticationManager.java index d303c1f091..c7c02e4bf6 100644 --- a/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/impl/PropertyAuthenticationManager.java +++ b/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/impl/PropertyAuthenticationManager.java @@ -2,10 +2,13 @@ import java.util.Collections; +import javax.enterprise.inject.Alternative; + import org.uberfire.security.auth.SubjectPropertiesProvider; import org.uberfire.security.server.auth.BasicUserPassAuthenticationScheme; import org.uberfire.security.server.auth.source.PropertyUserSource; +@Alternative public class PropertyAuthenticationManager extends SimpleUserPassAuthenticationManager { public PropertyAuthenticationManager( final SubjectPropertiesProvider propertiesProvider ) { diff --git a/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/impl/SimpleUserPassAuthenticationManager.java b/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/impl/SimpleUserPassAuthenticationManager.java index 01d8118411..cccf4a7f61 100644 --- a/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/impl/SimpleUserPassAuthenticationManager.java +++ b/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/auth/impl/SimpleUserPassAuthenticationManager.java @@ -5,6 +5,8 @@ import java.util.List; import java.util.Map; +import javax.enterprise.inject.Alternative; + import org.uberfire.security.Role; import org.uberfire.security.SecurityContext; import org.uberfire.security.Subject; @@ -24,6 +26,7 @@ import static org.uberfire.commons.validation.Preconditions.*; import static org.uberfire.security.auth.AuthenticationStatus.*; +@Alternative public class SimpleUserPassAuthenticationManager implements AuthenticationManager { private final AuthenticationScheme scheme; diff --git a/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/cdi/SecurityFactory.java b/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/cdi/SecurityFactory.java index 06142d8520..bd0b4a3d3b 100644 --- a/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/cdi/SecurityFactory.java +++ b/uberfire-security/uberfire-security-server/src/main/java/org/uberfire/security/server/cdi/SecurityFactory.java @@ -29,7 +29,6 @@ import org.uberfire.security.authz.AuthorizationManager; import org.uberfire.security.impl.IdentityImpl; import org.uberfire.security.impl.RoleImpl; -import org.uberfire.security.impl.authz.RuntimeAuthorizationManager; public class SecurityFactory { @@ -38,13 +37,13 @@ public class SecurityFactory { }}; private static final ThreadLocal subjects = new ThreadLocal(); - static private RuntimeAuthorizationManager authzManager = null; + static private AuthorizationManager authzManager = null; public static void setSubject( final Subject subject ) { subjects.set( subject ); } - public static void setAuthzManager( final RuntimeAuthorizationManager authzManager ) { + public static void setAuthzManager( final AuthorizationManager authzManager ) { SecurityFactory.authzManager = authzManager; } @@ -59,7 +58,7 @@ public static Identity getIdentity() { @Produces @ApplicationScoped - public static RuntimeAuthorizationManager getAuthzManager() { + public static AuthorizationManager getAuthzManager() { return authzManager; } diff --git a/uberfire-security/uberfire-security-server/src/main/resources/META-INF/beans.xml b/uberfire-security/uberfire-security-server/src/main/resources/META-INF/beans.xml index e227a7f73f..3fcb3c301d 100644 --- a/uberfire-security/uberfire-security-server/src/main/resources/META-INF/beans.xml +++ b/uberfire-security/uberfire-security-server/src/main/resources/META-INF/beans.xml @@ -1,17 +1,7 @@ - - - - - - - - + http://java.sun.com/xml/ns/javaee http://docs.jboss.org/cdi/beans_1_0.xsd"> org.uberfire.security.server.authz.cdi.RolesInterceptor