diff --git a/archetype/html-rest/src/main/resources/archetype-resources/src/main/java/rest/AuthREST.java b/archetype/html-rest/src/main/resources/archetype-resources/src/main/java/rest/AuthREST.java
index 8d14cd8..5d79074 100644
--- a/archetype/html-rest/src/main/resources/archetype-resources/src/main/java/rest/AuthREST.java
+++ b/archetype/html-rest/src/main/resources/archetype-resources/src/main/java/rest/AuthREST.java
@@ -1,5 +1,7 @@
package ${package}.rest;
+import java.security.Principal;
+
import javax.inject.Inject;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
@@ -12,7 +14,6 @@ import javax.ws.rs.Produces;
import br.gov.frameworkdemoiselle.security.Credentials;
import br.gov.frameworkdemoiselle.security.LoggedIn;
import br.gov.frameworkdemoiselle.security.SecurityContext;
-import br.gov.frameworkdemoiselle.security.User;
import br.gov.frameworkdemoiselle.util.Beans;
import br.gov.frameworkdemoiselle.util.ValidatePayload;
@@ -37,7 +38,7 @@ public class AuthREST {
@GET
@LoggedIn
@Produces("application/json")
- public User getLoggedInUser() {
+ public Principal getLoggedInUser() {
return securityContext.getUser();
}
diff --git a/archetype/html-rest/src/main/resources/archetype-resources/src/main/java/security/AppAuthenticator.java b/archetype/html-rest/src/main/resources/archetype-resources/src/main/java/security/AppAuthenticator.java
index acc07bf..40d2e00 100644
--- a/archetype/html-rest/src/main/resources/archetype-resources/src/main/java/security/AppAuthenticator.java
+++ b/archetype/html-rest/src/main/resources/archetype-resources/src/main/java/security/AppAuthenticator.java
@@ -1,11 +1,12 @@
package ${package}.security;
+import java.security.Principal;
+
import javax.enterprise.context.RequestScoped;
import br.gov.frameworkdemoiselle.security.Authenticator;
import br.gov.frameworkdemoiselle.security.Credentials;
import br.gov.frameworkdemoiselle.security.InvalidCredentialsException;
-import br.gov.frameworkdemoiselle.security.User;
import br.gov.frameworkdemoiselle.util.Beans;
@RequestScoped
@@ -13,14 +14,21 @@ public class AppAuthenticator implements Authenticator {
private static final long serialVersionUID = 1L;
- private User user;
+ private Principal user;
@Override
public void authenticate() throws Exception {
- Credentials credentials = Beans.getReference(Credentials.class);
+ final Credentials credentials = Beans.getReference(Credentials.class);
if (credentials.getPassword().equals("secret")) {
- this.user = new AppUser(credentials.getUsername());
+ this.user = new Principal() {
+
+ @Override
+ public String getName() {
+ return credentials.getUsername();
+ }
+ };
+
} else {
throw new InvalidCredentialsException();
}
@@ -32,7 +40,7 @@ public class AppAuthenticator implements Authenticator {
}
@Override
- public User getUser() {
+ public Principal getUser() {
return this.user;
}
}
diff --git a/archetype/html-rest/src/main/resources/archetype-resources/src/main/java/security/AppUser.java b/archetype/html-rest/src/main/resources/archetype-resources/src/main/java/security/AppUser.java
deleted file mode 100644
index a4cea20..0000000
--- a/archetype/html-rest/src/main/resources/archetype-resources/src/main/java/security/AppUser.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package ${package}.security;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-import br.gov.frameworkdemoiselle.security.User;
-
-public class AppUser implements User {
-
- private static final long serialVersionUID = 1L;
-
- @JsonProperty("username")
- private String id;
-
- public AppUser(String id) {
- this.id = id;
- }
-
- @Override
- public String getId() {
- return this.id;
- }
-
- @Override
- public Object getAttribute(Object key) {
- return null;
- }
-
- @Override
- public void setAttribute(Object key, Object value) {
- }
-}
diff --git a/archetype/html-rest/src/main/resources/archetype-resources/src/main/webapp/js/controller/menu.js b/archetype/html-rest/src/main/resources/archetype-resources/src/main/webapp/js/controller/menu.js
index b9db85c..32ff470 100644
--- a/archetype/html-rest/src/main/resources/archetype-resources/src/main/webapp/js/controller/menu.js
+++ b/archetype/html-rest/src/main/resources/archetype-resources/src/main/webapp/js/controller/menu.js
@@ -10,5 +10,5 @@ $(function() {
});
function getUserOk(data) {
- $("#username").html(data.id);
+ $("#username").html(data.name);
}
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 a7778d8..7cc75ee 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,12 +37,14 @@
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;
@@ -80,7 +82,7 @@ public class DefaultAuthenticator implements Authenticator {
* @see br.gov.frameworkdemoiselle.security.Authenticator#getUser()
*/
@Override
- public User getUser() {
+ public Principal 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 a81a4e1..77211ca 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,6 +36,9 @@
*/
package br.gov.frameworkdemoiselle.internal.implementation;
+import java.io.Serializable;
+import java.security.Principal;
+
import javax.inject.Named;
import br.gov.frameworkdemoiselle.DemoiselleException;
@@ -48,7 +51,6 @@ import br.gov.frameworkdemoiselle.security.AuthorizationException;
import br.gov.frameworkdemoiselle.security.Authorizer;
import br.gov.frameworkdemoiselle.security.NotLoggedInException;
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;
@@ -213,8 +215,8 @@ public class SecurityContextImpl implements SecurityContext {
* @see br.gov.frameworkdemoiselle.security.SecurityContext#getUser()
*/
@Override
- public User getUser() {
- User user = getAuthenticator().getUser();
+ public Principal getUser() {
+ Principal user = getAuthenticator().getUser();
if (!getConfig().isEnabled() && user == null) {
user = new EmptyUser();
@@ -241,22 +243,13 @@ public class SecurityContextImpl implements SecurityContext {
return bundle;
}
- private static class EmptyUser implements User {
+ private static class EmptyUser implements Principal, Serializable {
private static final long serialVersionUID = 1L;
@Override
- public String getId() {
+ public String getName() {
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 3fc9e06..49c1d2c 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,6 +37,7 @@
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.
@@ -75,5 +76,5 @@ public interface Authenticator extends Serializable {
* @see #authenticate()
* @see #unauthenticate()
*/
- User getUser();
+ Principal 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 1d972c4..f9b143a 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
@@ -85,7 +85,7 @@ public class RequiredPermissionInterceptor implements Serializable {
String username = null;
if (getSecurityContext().isLoggedIn()) {
- username = getSecurityContext().getUser().getId();
+ username = getSecurityContext().getUser().getName();
getLogger().trace(getBundle().getString("access-checking", username, operation, resource));
}
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 19f1413..a6b7e38 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().getUser().getId(),
+ getBundle().getString("has-role-verification", getSecurityContext().getUser().getName(),
roles));
}
@@ -98,14 +98,14 @@ public class RequiredRoleInterceptor implements Serializable {
if (userRoles.isEmpty()) {
getLogger()
- .error(getBundle().getString("does-not-have-role", getSecurityContext().getUser().getId(),
+ .error(getBundle().getString("does-not-have-role", getSecurityContext().getUser().getName(),
roles));
throw new AuthorizationException(getBundle().getString("does-not-have-role-ui", roles));
}
getLogger().debug(
- getBundle().getString("user-has-role", getSecurityContext().getUser().getId(), userRoles));
+ getBundle().getString("user-has-role", getSecurityContext().getUser().getName(), 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 8f46dcc..a650b07 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,6 +37,7 @@
package br.gov.frameworkdemoiselle.security;
import java.io.Serializable;
+import java.security.Principal;
/**
* Structure used to handle both authentication and authorizations mechanisms.
@@ -111,6 +112,6 @@ public interface SecurityContext extends Serializable {
* @return the user logged in a specific authenticated session. If there is no active session {@code null} is
* returned.
*/
- User getUser();
+ Principal getUser();
}
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
deleted file mode 100644
index 6f47547..0000000
--- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/User.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Demoiselle Framework
- * Copyright (C) 2010 SERPRO
- * ----------------------------------------------------------------------------
- * This file is part of Demoiselle Framework.
- *
- * Demoiselle Framework is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License version 3
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License version 3
- * along with this program; if not, see
- * or write to the Free Software Foundation, Inc., 51 Franklin Street,
- * Fifth Floor, Boston, MA 02110-1301, USA.
- * ----------------------------------------------------------------------------
- * Este arquivo é parte do Framework Demoiselle.
- *
- * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
- * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
- * do Software Livre (FSF).
- *
- * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
- * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
- * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
- * para maiores detalhes.
- *
- * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
- * "LICENCA.txt", junto com esse programa. Se não, acesse
- * ou escreva para a Fundação do Software Livre (FSF) Inc.,
- * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
- */
-package br.gov.frameworkdemoiselle.security;
-
-import java.io.Serializable;
-
-/**
- * @author SERPRO
- */
-public interface User extends Serializable {
-
- /**
- * Returns the id of the logged user.
- *
- * @return the id of the logged user
- */
- String getId();
-
- /**
- * Return the value associated with the key being passed.
- *
- * @param key
- * the key whose value should be searched
- * @return the value associated with the key being passed
- */
- Object getAttribute(Object key);
-
- /**
- * Sets an attribute.
- *
- * @param key
- * the key that identifies the value
- * @param value
- * the value to be stored
- */
- void setAttribute(Object key, Object value);
-
-}
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 123839d..61d136f 100644
--- a/impl/core/src/test/java/security/athentication/ambiguity/DuplicatedCustomAuthenticator.java
+++ b/impl/core/src/test/java/security/athentication/ambiguity/DuplicatedCustomAuthenticator.java
@@ -36,8 +36,9 @@
*/
package security.athentication.ambiguity;
+import java.security.Principal;
+
import br.gov.frameworkdemoiselle.security.Authenticator;
-import br.gov.frameworkdemoiselle.security.User;
public class DuplicatedCustomAuthenticator implements Authenticator {
@@ -52,7 +53,7 @@ public class DuplicatedCustomAuthenticator implements Authenticator {
}
@Override
- public User getUser() {
+ public Principal 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 a027c75..bd87ae3 100644
--- a/impl/core/src/test/java/security/athentication/credentials/StrictAuthenticator.java
+++ b/impl/core/src/test/java/security/athentication/credentials/StrictAuthenticator.java
@@ -36,37 +36,28 @@
*/
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 User currentUser;
+ private Principal currentUser;
@Override
- public void authenticate() {
+ public void authenticate() {
Credentials c = Beans.getReference(Credentials.class);
if ("demoiselle".equals(c.getLogin())) {
- this.currentUser = new User() {
-
- private static final long serialVersionUID = 1L;
-
- public String getId() {
- return "demoiselle";
- }
+ this.currentUser = new Principal() {
@Override
- public Object getAttribute(Object key) {
- return null;
- }
-
- @Override
- public void setAttribute(Object key, Object value) {
+ public String getName() {
+ return "demoiselle";
}
};
} else {
@@ -80,7 +71,7 @@ public class StrictAuthenticator implements Authenticator {
}
@Override
- public User getUser() {
+ public Principal 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 6a98ebd..3f2aafd 100644
--- a/impl/core/src/test/java/security/athentication/custom/CustomAuthenticator.java
+++ b/impl/core/src/test/java/security/athentication/custom/CustomAuthenticator.java
@@ -36,32 +36,23 @@
*/
package security.athentication.custom;
+import java.security.Principal;
+
import br.gov.frameworkdemoiselle.security.Authenticator;
-import br.gov.frameworkdemoiselle.security.User;
public class CustomAuthenticator implements Authenticator {
private static final long serialVersionUID = 1L;
- private User currentUser;
+ private Principal currentUser;
@Override
public void authenticate() {
- this.currentUser = new User() {
-
- private static final long serialVersionUID = 1L;
-
- public String getId() {
- return "demoiselle";
- }
+ this.currentUser = new Principal() {
@Override
- public Object getAttribute(Object key) {
- return null;
- }
-
- @Override
- public void setAttribute(Object key, Object value) {
+ public String getName() {
+ return "demoiselle";
}
};
}
@@ -72,7 +63,7 @@ public class CustomAuthenticator implements Authenticator {
}
@Override
- public User getUser() {
+ public Principal 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 2ce71ce..086a445 100644
--- a/impl/core/src/test/java/security/athentication/custom/CustomAuthenticatorTest.java
+++ b/impl/core/src/test/java/security/athentication/custom/CustomAuthenticatorTest.java
@@ -87,7 +87,7 @@ public class CustomAuthenticatorTest {
context.login();
assertTrue(context.isLoggedIn());
assertNotNull(observer.getEvent());
- assertEquals("demoiselle", context.getUser().getId());
+ assertEquals("demoiselle", context.getUser().getName());
ctx.deactivate();
}
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 2d6d6e8..bc95130 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.getUser().getId());
+ assertEquals("demoiselle", context.getUser().getName());
}
@Test
@@ -90,7 +90,7 @@ public class DisabledAuthenticationTest {
context.login();
assertTrue(context.isLoggedIn());
assertNull(event);
- assertEquals("demoiselle", context.getUser().getId());
+ assertEquals("demoiselle", context.getUser().getName());
}
@Test
@@ -98,6 +98,6 @@ public class DisabledAuthenticationTest {
context.login();
context.logout();
assertTrue(context.isLoggedIn());
- assertEquals("demoiselle", context.getUser().getId());
+ assertEquals("demoiselle", context.getUser().getName());
}
}
diff --git a/impl/core/src/test/java/security/athentication/error/LoginErrorAuthenticator.java b/impl/core/src/test/java/security/athentication/error/LoginErrorAuthenticator.java
index e25749b..445ff74 100644
--- a/impl/core/src/test/java/security/athentication/error/LoginErrorAuthenticator.java
+++ b/impl/core/src/test/java/security/athentication/error/LoginErrorAuthenticator.java
@@ -36,15 +36,16 @@
*/
package security.athentication.error;
+import java.security.Principal;
+
import br.gov.frameworkdemoiselle.security.Authenticator;
-import br.gov.frameworkdemoiselle.security.User;
public class LoginErrorAuthenticator implements Authenticator {
private static final long serialVersionUID = 1L;
@Override
- public void authenticate() {
+ public void authenticate() {
throw new RuntimeException();
}
@@ -54,7 +55,7 @@ public class LoginErrorAuthenticator implements Authenticator {
}
@Override
- public User getUser() {
+ public Principal getUser() {
return null;
}
}
diff --git a/impl/core/src/test/java/security/athentication/error/LogoutErrorAuthenticator.java b/impl/core/src/test/java/security/athentication/error/LogoutErrorAuthenticator.java
index 4f86293..2710a15 100644
--- a/impl/core/src/test/java/security/athentication/error/LogoutErrorAuthenticator.java
+++ b/impl/core/src/test/java/security/athentication/error/LogoutErrorAuthenticator.java
@@ -36,32 +36,23 @@
*/
package security.athentication.error;
+import java.security.Principal;
+
import br.gov.frameworkdemoiselle.security.Authenticator;
-import br.gov.frameworkdemoiselle.security.User;
public class LogoutErrorAuthenticator implements Authenticator {
private static final long serialVersionUID = 1L;
-
- private User currentUser;
-
- @Override
- public void authenticate() {
- this.currentUser = new User() {
- private static final long serialVersionUID = 1L;
-
- public String getId() {
- return "demoiselle";
- }
+ private Principal currentUser;
- @Override
- public Object getAttribute(Object key) {
- return null;
- }
+ @Override
+ public void authenticate() {
+ this.currentUser = new Principal() {
@Override
- public void setAttribute(Object key, Object value) {
+ public String getName() {
+ return "demoiselle";
}
};
}
@@ -72,7 +63,7 @@ public class LogoutErrorAuthenticator implements Authenticator {
}
@Override
- public User getUser() {
+ public Principal getUser() {
return currentUser;
}
}
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 13d27e6..5fdedda 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.getUser().getId());
+ assertEquals("demoiselle", context.getUser().getName());
}
}
diff --git a/impl/core/src/test/java/security/interceptor/loggedin/CustomAuthenticator.java b/impl/core/src/test/java/security/interceptor/loggedin/CustomAuthenticator.java
index a7ed3dc..2a5e159 100644
--- a/impl/core/src/test/java/security/interceptor/loggedin/CustomAuthenticator.java
+++ b/impl/core/src/test/java/security/interceptor/loggedin/CustomAuthenticator.java
@@ -36,35 +36,26 @@
*/
package security.interceptor.loggedin;
+import java.security.Principal;
+
import javax.enterprise.context.SessionScoped;
import br.gov.frameworkdemoiselle.security.Authenticator;
-import br.gov.frameworkdemoiselle.security.User;
@SessionScoped
public class CustomAuthenticator implements Authenticator {
private static final long serialVersionUID = 1L;
- private User currentUser;
+ private Principal currentUser;
@Override
public void authenticate() {
- this.currentUser = new User() {
-
- private static final long serialVersionUID = 1L;
-
- public String getId() {
- return "demoiselle";
- }
+ this.currentUser = new Principal() {
@Override
- public Object getAttribute(Object key) {
- return null;
- }
-
- @Override
- public void setAttribute(Object key, Object value) {
+ public String getName() {
+ return "demoiselle";
}
};
}
@@ -75,7 +66,7 @@ public class CustomAuthenticator implements Authenticator {
}
@Override
- public User getUser() {
+ public Principal getUser() {
return this.currentUser;
}
}
diff --git a/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthenticator.java b/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthenticator.java
index 769cf30..5a33183 100644
--- a/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthenticator.java
+++ b/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthenticator.java
@@ -89,36 +89,9 @@ public class ServletAuthenticator implements Authenticator {
getRequest().getSession().invalidate();
}
- // TODO Criar uma delegação especializada de User ao invés de retornar
- // uma inner class
@Override
- public User getUser() {
- final Principal principal = getRequest().getUserPrincipal();
-
- User user = null;
-
- if (principal != null) {
- user = new User() {
-
- private static final long serialVersionUID = 1L;
-
- @Override
- public String getId() {
- return principal.getName();
- }
-
- @Override
- public void setAttribute(Object key, Object value) {
- }
-
- @Override
- public Object getAttribute(Object key) {
- return null;
- }
- };
- }
-
- return user;
+ public Principal getUser() {
+ return getRequest().getUserPrincipal();
}
protected Credentials getCredentials() {
--
libgit2 0.21.2