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 11bee95622..d30a24c5d9 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,10 +1,13 @@ package org.uberfire.rpc.impl; +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; 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 5fa977081c..ed2839d8d9 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 @@ -17,6 +17,7 @@ package org.uberfire.security.impl.authz; import javax.enterprise.context.ApplicationScoped; +import javax.enterprise.inject.Alternative; import org.uberfire.security.Resource; import org.uberfire.security.Subject; @@ -29,29 +30,31 @@ import static org.uberfire.security.authz.AuthorizationResult.*; @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 a1a6e687a6..6cca2f02ad 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 @@ -20,6 +20,7 @@ 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; @@ -47,6 +48,7 @@ import static org.uberfire.security.Role.*; import static org.uberfire.security.auth.AuthenticationStatus.*; +@Alternative public class HttpAuthenticationManager implements AuthenticationManager { private final List authSchemes; 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 b956920372..6ee5f6e8a2 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,15 +1,6 @@ + http://java.sun.com/xml/ns/javaee http://docs.jboss.org/cdi/beans_1_0.xsd"> - - - - - - -