diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthenticator.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthenticator.java index ffd5fc2..81a50ac 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthenticator.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthenticator.java @@ -37,14 +37,12 @@ package br.gov.frameworkdemoiselle.internal.implementation; import static br.gov.frameworkdemoiselle.annotation.Priority.L1_PRIORITY; - -import java.security.Principal; - import br.gov.frameworkdemoiselle.DemoiselleException; import br.gov.frameworkdemoiselle.annotation.Priority; import br.gov.frameworkdemoiselle.security.AuthenticationException; import br.gov.frameworkdemoiselle.security.Authenticator; import br.gov.frameworkdemoiselle.security.SecurityContext; +import br.gov.frameworkdemoiselle.security.User; import br.gov.frameworkdemoiselle.util.Beans; import br.gov.frameworkdemoiselle.util.NameQualifier; import br.gov.frameworkdemoiselle.util.ResourceBundle; @@ -82,7 +80,7 @@ public class DefaultAuthenticator implements Authenticator { * @see br.gov.frameworkdemoiselle.security.Authenticator#getUser() */ @Override - public Principal getUser() { + public User getUser() { throw getException(); } diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityContextImpl.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityContextImpl.java index b9a3cd9..165de18 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityContextImpl.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityContextImpl.java @@ -36,12 +36,8 @@ */ package br.gov.frameworkdemoiselle.internal.implementation; -import java.io.Serializable; -import java.security.Principal; - import javax.inject.Named; -import br.gov.frameworkdemoiselle.DemoiselleException; import br.gov.frameworkdemoiselle.internal.configuration.SecurityConfig; import br.gov.frameworkdemoiselle.security.AfterLoginSuccessful; import br.gov.frameworkdemoiselle.security.AfterLogoutSuccessful; @@ -60,7 +56,6 @@ import br.gov.frameworkdemoiselle.util.ResourceBundle; * * @author SERPRO */ -@SuppressWarnings("deprecation") @Named("securityContext") public class SecurityContextImpl implements SecurityContext { @@ -137,7 +132,7 @@ public class SecurityContextImpl implements SecurityContext { boolean result = true; if (getConfig().isEnabled()) { - result = getCurrentUser() != null; + result = getUser() != null; } return result; @@ -176,17 +171,11 @@ public class SecurityContextImpl implements SecurityContext { } /** - * @deprecated Use {@link #getCurrentUser()} instead. * @see br.gov.frameworkdemoiselle.security.SecurityContext#getUser() */ @Override public User getUser() { - throw new DemoiselleException("Utilize o método getCurrentUser() ao invés do getUser()"); - } - - @Override - public Principal getCurrentUser() { - Principal user = getAuthenticator().getUser(); + User user = getAuthenticator().getUser(); if (!getConfig().isEnabled() && user == null) { user = new EmptyUser(); @@ -213,13 +202,22 @@ public class SecurityContextImpl implements SecurityContext { return bundle; } - private static class EmptyUser implements Principal, Serializable { + private static class EmptyUser implements User{ private static final long serialVersionUID = 1L; @Override - public String getName() { + public String getId() { return "demoiselle"; } + + @Override + public Object getAttribute(Object key) { + return null; + } + + @Override + public void setAttribute(Object key, Object value) { + } } } diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/Authenticator.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/Authenticator.java index 0631b33..3445e53 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/Authenticator.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/Authenticator.java @@ -37,7 +37,6 @@ package br.gov.frameworkdemoiselle.security; import java.io.Serializable; -import java.security.Principal; /** * Defines the methods that should be implemented by anyone who wants an authentication mechanism. @@ -64,5 +63,5 @@ public interface Authenticator extends Serializable { * * @return the user currently authenticated */ - Principal getUser(); + User getUser(); } diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredPermissionInterceptor.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredPermissionInterceptor.java index 0b674a7..460093c 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredPermissionInterceptor.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredPermissionInterceptor.java @@ -37,7 +37,6 @@ package br.gov.frameworkdemoiselle.security; import java.io.Serializable; -import java.security.Principal; import javax.interceptor.AroundInvoke; import javax.interceptor.Interceptor; @@ -106,10 +105,10 @@ public class RequiredPermissionInterceptor implements Serializable { */ private String getUsername() { String username = ""; - Principal user = getSecurityContext().getCurrentUser(); + User user = getSecurityContext().getUser(); - if (user != null && user.getName() != null) { - username = user.getName(); + if (user != null && user.getId() != null) { + username = user.getId(); } return username; diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredRoleInterceptor.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredRoleInterceptor.java index cfeabcb..7867912 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredRoleInterceptor.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/RequiredRoleInterceptor.java @@ -84,7 +84,7 @@ public class RequiredRoleInterceptor implements Serializable { if (getSecurityContext().isLoggedIn()) { getLogger().info( - getBundle().getString("has-role-verification", getSecurityContext().getCurrentUser().getName(), + getBundle().getString("has-role-verification", getSecurityContext().getUser().getId(), roles)); } @@ -98,14 +98,14 @@ public class RequiredRoleInterceptor implements Serializable { if (userRoles.isEmpty()) { getLogger() - .error(getBundle().getString("does-not-have-role", getSecurityContext().getCurrentUser().getName(), + .error(getBundle().getString("does-not-have-role", getSecurityContext().getUser().getId(), roles)); throw new AuthorizationException(getBundle().getString("does-not-have-role-ui", roles)); } getLogger().debug( - getBundle().getString("user-has-role", getSecurityContext().getCurrentUser().getName(), userRoles)); + getBundle().getString("user-has-role", getSecurityContext().getUser().getId(), userRoles)); return ic.proceed(); } diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/SecurityContext.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/SecurityContext.java index 334840b..a34bd52 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/SecurityContext.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/SecurityContext.java @@ -37,7 +37,6 @@ package br.gov.frameworkdemoiselle.security; import java.io.Serializable; -import java.security.Principal; /** * Structure used to handle both authentication and authorizations mechanisms. @@ -104,15 +103,8 @@ public interface SecurityContext extends Serializable { /** * Return the user logged in the session. * - * @deprecated See {@link #getCurrentUser()} * @return the user logged in a specific session. If there is no active session returns {@code null} */ User getUser(); - /** - * Return the user logged in the authenticated session. - * - * @return the user logged in a specific session. If there is no active authenticated session returns {@code null} - */ - Principal getCurrentUser(); } diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/User.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/User.java index c191663..6f47547 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/User.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/User.java @@ -37,13 +37,11 @@ package br.gov.frameworkdemoiselle.security; import java.io.Serializable; -import java.security.Principal; /** * @author SERPRO - * @deprecated */ -public interface User extends Principal, Serializable { +public interface User extends Serializable { /** * Returns the id of the logged user. diff --git a/impl/core/src/test/java/security/athentication/ambiguity/DuplicatedCustomAuthenticator.java b/impl/core/src/test/java/security/athentication/ambiguity/DuplicatedCustomAuthenticator.java index 7260b81..0f7655b 100644 --- a/impl/core/src/test/java/security/athentication/ambiguity/DuplicatedCustomAuthenticator.java +++ b/impl/core/src/test/java/security/athentication/ambiguity/DuplicatedCustomAuthenticator.java @@ -36,10 +36,9 @@ */ package security.athentication.ambiguity; -import java.security.Principal; - import br.gov.frameworkdemoiselle.security.AuthenticationException; import br.gov.frameworkdemoiselle.security.Authenticator; +import br.gov.frameworkdemoiselle.security.User; public class DuplicatedCustomAuthenticator implements Authenticator { @@ -54,7 +53,7 @@ public class DuplicatedCustomAuthenticator implements Authenticator { } @Override - public Principal getUser() { + public User getUser() { return null; } } diff --git a/impl/core/src/test/java/security/athentication/credentials/StrictAuthenticator.java b/impl/core/src/test/java/security/athentication/credentials/StrictAuthenticator.java index d91d20f..0c1846d 100644 --- a/impl/core/src/test/java/security/athentication/credentials/StrictAuthenticator.java +++ b/impl/core/src/test/java/security/athentication/credentials/StrictAuthenticator.java @@ -36,31 +36,40 @@ */ package security.athentication.credentials; -import java.security.Principal; - import br.gov.frameworkdemoiselle.security.AuthenticationException; import br.gov.frameworkdemoiselle.security.Authenticator; +import br.gov.frameworkdemoiselle.security.User; import br.gov.frameworkdemoiselle.util.Beans; public class StrictAuthenticator implements Authenticator { private static final long serialVersionUID = 1L; - private Principal currentUser; + private User currentUser; @Override public void authenticate() throws AuthenticationException { - + Credentials c = Beans.getReference(Credentials.class); - if ("demoiselle".equals(c.getLogin())){ - this.currentUser = new Principal() { - - public String getName() { + if ("demoiselle".equals(c.getLogin())) { + this.currentUser = new User() { + + private static final long serialVersionUID = 1L; + + public String getId() { return "demoiselle"; } + + @Override + public Object getAttribute(Object key) { + return null; + } + + @Override + public void setAttribute(Object key, Object value) { + } }; - } - else{ + } else { throw new AuthenticationException("As credenciais fornecidas não são válidas"); } } @@ -71,7 +80,7 @@ public class StrictAuthenticator implements Authenticator { } @Override - public Principal getUser() { + public User getUser() { return this.currentUser; } } diff --git a/impl/core/src/test/java/security/athentication/custom/CustomAuthenticator.java b/impl/core/src/test/java/security/athentication/custom/CustomAuthenticator.java index 933ae66..f98fb4b 100644 --- a/impl/core/src/test/java/security/athentication/custom/CustomAuthenticator.java +++ b/impl/core/src/test/java/security/athentication/custom/CustomAuthenticator.java @@ -36,24 +36,34 @@ */ package security.athentication.custom; -import java.security.Principal; - import br.gov.frameworkdemoiselle.security.AuthenticationException; import br.gov.frameworkdemoiselle.security.Authenticator; +import br.gov.frameworkdemoiselle.security.User; public class CustomAuthenticator implements Authenticator { private static final long serialVersionUID = 1L; - private Principal currentUser; + private User currentUser; @Override public void authenticate() throws AuthenticationException { - this.currentUser = new Principal() { + this.currentUser = new User() { + + private static final long serialVersionUID = 1L; - public String getName() { + public String getId() { return "demoiselle"; } + + @Override + public Object getAttribute(Object key) { + return null; + } + + @Override + public void setAttribute(Object key, Object value) { + } }; } @@ -63,7 +73,7 @@ public class CustomAuthenticator implements Authenticator { } @Override - public Principal getUser() { + public User getUser() { return this.currentUser; } } diff --git a/impl/core/src/test/java/security/athentication/custom/CustomAuthenticatorTest.java b/impl/core/src/test/java/security/athentication/custom/CustomAuthenticatorTest.java index 4cb6161..8387bbc 100644 --- a/impl/core/src/test/java/security/athentication/custom/CustomAuthenticatorTest.java +++ b/impl/core/src/test/java/security/athentication/custom/CustomAuthenticatorTest.java @@ -77,7 +77,7 @@ public class CustomAuthenticatorTest { @Test public void unauthenticated() { assertFalse(context.isLoggedIn()); - assertNull(context.getCurrentUser()); + assertNull(context.getUser()); } @Test @@ -87,7 +87,7 @@ public class CustomAuthenticatorTest { context.login(); assertTrue(context.isLoggedIn()); assertNotNull(observer.getEvent()); - assertEquals("demoiselle", context.getCurrentUser().getName()); + assertEquals("demoiselle", context.getUser().getId()); ContextManager.deactivate(ThreadLocalContext.class, RequestScoped.class); } @@ -99,7 +99,7 @@ public class CustomAuthenticatorTest { context.login(); context.logout(); assertFalse(context.isLoggedIn()); - assertNull(context.getCurrentUser()); + assertNull(context.getUser()); ContextManager.deactivate(ThreadLocalContext.class, RequestScoped.class); } diff --git a/impl/core/src/test/java/security/athentication/disabled/DisabledAuthenticationTest.java b/impl/core/src/test/java/security/athentication/disabled/DisabledAuthenticationTest.java index e898d42..b9fbc18 100644 --- a/impl/core/src/test/java/security/athentication/disabled/DisabledAuthenticationTest.java +++ b/impl/core/src/test/java/security/athentication/disabled/DisabledAuthenticationTest.java @@ -82,7 +82,7 @@ public class DisabledAuthenticationTest { @Test public void unauthenticated() { assertTrue(context.isLoggedIn()); - assertEquals("demoiselle", context.getCurrentUser().getName()); + assertEquals("demoiselle", context.getUser().getId()); } @Test @@ -90,7 +90,7 @@ public class DisabledAuthenticationTest { context.login(); assertTrue(context.isLoggedIn()); assertNull(event); - assertEquals("demoiselle", context.getCurrentUser().getName()); + assertEquals("demoiselle", context.getUser().getId()); } // diff --git a/impl/core/src/test/java/security/athentication/error/ErrorAuthenticator.java b/impl/core/src/test/java/security/athentication/error/ErrorAuthenticator.java index 9fbaf06..eb99978 100644 --- a/impl/core/src/test/java/security/athentication/error/ErrorAuthenticator.java +++ b/impl/core/src/test/java/security/athentication/error/ErrorAuthenticator.java @@ -36,10 +36,9 @@ */ package security.athentication.error; -import java.security.Principal; - import br.gov.frameworkdemoiselle.security.AuthenticationException; import br.gov.frameworkdemoiselle.security.Authenticator; +import br.gov.frameworkdemoiselle.security.User; public class ErrorAuthenticator implements Authenticator { @@ -56,9 +55,7 @@ public class ErrorAuthenticator implements Authenticator { } @Override - public Principal getUser() { + public User getUser() { return null; } - - } diff --git a/impl/core/src/test/java/security/athentication/selection/SelectedAuthenticatorTest.java b/impl/core/src/test/java/security/athentication/selection/SelectedAuthenticatorTest.java index b47c925..13d27e6 100644 --- a/impl/core/src/test/java/security/athentication/selection/SelectedAuthenticatorTest.java +++ b/impl/core/src/test/java/security/athentication/selection/SelectedAuthenticatorTest.java @@ -72,6 +72,6 @@ public class SelectedAuthenticatorTest { @Test public void selectedAuthenticatorStrategy() { context.login(); - assertEquals("demoiselle", context.getCurrentUser().getName()); + assertEquals("demoiselle", context.getUser().getId()); } } -- libgit2 0.21.2