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 81a50ac..a7778d8 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 @@ -72,7 +72,7 @@ public class DefaultAuthenticator implements Authenticator { * @see br.gov.frameworkdemoiselle.security.Authenticator#unAuthenticate() */ @Override - public void unAuthenticate() { + public void unauthenticate() { 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 165de18..e686d3c 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 @@ -43,7 +43,9 @@ import br.gov.frameworkdemoiselle.security.AfterLoginSuccessful; import br.gov.frameworkdemoiselle.security.AfterLogoutSuccessful; import br.gov.frameworkdemoiselle.security.AuthenticationException; import br.gov.frameworkdemoiselle.security.Authenticator; +import br.gov.frameworkdemoiselle.security.AuthorizationException; import br.gov.frameworkdemoiselle.security.Authorizer; +import br.gov.frameworkdemoiselle.security.InvalidCredentialsException; import br.gov.frameworkdemoiselle.security.NotLoggedInException; import br.gov.frameworkdemoiselle.security.SecurityContext; import br.gov.frameworkdemoiselle.security.User; @@ -61,7 +63,7 @@ public class SecurityContextImpl implements SecurityContext { private static final long serialVersionUID = 1L; - private transient ResourceBundle bundle; + private transient ResourceBundle bundle; private Authenticator authenticator; @@ -99,26 +101,45 @@ public class SecurityContextImpl implements SecurityContext { * @see br.gov.frameworkdemoiselle.security.SecurityContext#hasPermission(java.lang.String, java.lang.String) */ @Override - public boolean hasPermission(String resource, String operation) throws NotLoggedInException { + public boolean hasPermission(String resource, String operation) { + boolean result = true; + if (getConfig().isEnabled()) { checkLoggedIn(); - return getAuthorizer().hasPermission(resource, operation); - } else { - return true; + try { + result = getAuthorizer().hasPermission(resource, operation); + + } catch (AuthorizationException cause) { + throw cause; + + } catch (Exception cause) { + throw new AuthorizationException(cause); + } } + + return result; } /** * @see br.gov.frameworkdemoiselle.security.SecurityContext#hasRole(java.lang.String) */ @Override - public boolean hasRole(String role) throws NotLoggedInException { + public boolean hasRole(String role) { boolean result = true; if (getConfig().isEnabled()) { checkLoggedIn(); - result = getAuthorizer().hasRole(role); + + try { + result = getAuthorizer().hasRole(role); + + } catch (AuthorizationException cause) { + throw cause; + + } catch (Exception cause) { + throw new AuthorizationException(cause); + } } return result; @@ -142,9 +163,21 @@ public class SecurityContextImpl implements SecurityContext { * @see br.gov.frameworkdemoiselle.security.SecurityContext#login() */ @Override - public void login() throws AuthenticationException { + public void login() { if (getConfig().isEnabled()) { - getAuthenticator().authenticate(); + + try { + getAuthenticator().authenticate(); + + } catch (InvalidCredentialsException cause) { + throw cause; + + } catch (AuthenticationException cause) { + throw cause; + + } catch (Exception cause) { + throw new AuthenticationException(cause); + } Beans.getBeanManager().fireEvent(new AfterLoginSuccessful() { @@ -161,7 +194,19 @@ public class SecurityContextImpl implements SecurityContext { public void logout() throws NotLoggedInException { if (getConfig().isEnabled()) { checkLoggedIn(); - getAuthenticator().unAuthenticate(); + + try { + getAuthenticator().unauthenticate(); + + } catch (InvalidCredentialsException cause) { + throw cause; + + } catch (AuthenticationException cause) { + throw cause; + + } catch (Exception cause) { + throw new AuthenticationException(cause); + } Beans.getBeanManager().fireEvent(new AfterLogoutSuccessful() { @@ -194,7 +239,7 @@ public class SecurityContextImpl implements SecurityContext { } } - private ResourceBundle getBundle() { + private ResourceBundle getBundle() { if (bundle == null) { bundle = Beans.getReference(ResourceBundle.class, new NameQualifier("demoiselle-core-bundle")); } @@ -202,7 +247,7 @@ public class SecurityContextImpl implements SecurityContext { return bundle; } - private static class EmptyUser implements User{ + private static class EmptyUser implements User { private static final long serialVersionUID = 1L; diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/AuthorizationException.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/AuthorizationException.java index 7f0934b..ad89d1e 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/AuthorizationException.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/security/AuthorizationException.java @@ -54,4 +54,14 @@ public class AuthorizationException extends SecurityException { public AuthorizationException(String message) { super(message); } + + /** + * Constructor with the cause. + * + * @param cause + * exception cause + */ + public AuthorizationException(Throwable cause) { + super(cause); + } } diff --git a/impl/core/src/test/java/configuration/field/beanvalidation/ConfigurationBeanValidationFieldTest.java b/impl/core/src/test/java/configuration/field/beanvalidation/ConfigurationBeanValidationFieldTest.java index acec664..5e278e8 100644 --- a/impl/core/src/test/java/configuration/field/beanvalidation/ConfigurationBeanValidationFieldTest.java +++ b/impl/core/src/test/java/configuration/field/beanvalidation/ConfigurationBeanValidationFieldTest.java @@ -51,7 +51,6 @@ import org.junit.Test; import org.junit.runner.RunWith; import test.Tests; - import br.gov.frameworkdemoiselle.configuration.ConfigurationException; @RunWith(Arquillian.class) diff --git a/impl/core/src/test/java/management/testclasses/DummyManagementExtension.java b/impl/core/src/test/java/management/testclasses/DummyManagementExtension.java index 41d5cf4..95b91ed 100644 --- a/impl/core/src/test/java/management/testclasses/DummyManagementExtension.java +++ b/impl/core/src/test/java/management/testclasses/DummyManagementExtension.java @@ -40,7 +40,6 @@ import java.util.List; import javax.inject.Inject; - import br.gov.frameworkdemoiselle.internal.implementation.ManagedType; import br.gov.frameworkdemoiselle.management.ManagementExtension; 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 0f7655b..123839d 100644 --- a/impl/core/src/test/java/security/athentication/ambiguity/DuplicatedCustomAuthenticator.java +++ b/impl/core/src/test/java/security/athentication/ambiguity/DuplicatedCustomAuthenticator.java @@ -36,7 +36,6 @@ */ package security.athentication.ambiguity; -import br.gov.frameworkdemoiselle.security.AuthenticationException; import br.gov.frameworkdemoiselle.security.Authenticator; import br.gov.frameworkdemoiselle.security.User; @@ -45,11 +44,11 @@ public class DuplicatedCustomAuthenticator implements Authenticator { private static final long serialVersionUID = 1L; @Override - public void authenticate() throws AuthenticationException { + public void authenticate() { } @Override - public void unAuthenticate() { + public void unauthenticate() { } @Override 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 0c1846d..a027c75 100644 --- a/impl/core/src/test/java/security/athentication/credentials/StrictAuthenticator.java +++ b/impl/core/src/test/java/security/athentication/credentials/StrictAuthenticator.java @@ -48,7 +48,7 @@ public class StrictAuthenticator implements Authenticator { private User currentUser; @Override - public void authenticate() throws AuthenticationException { + public void authenticate() { Credentials c = Beans.getReference(Credentials.class); if ("demoiselle".equals(c.getLogin())) { @@ -75,7 +75,7 @@ public class StrictAuthenticator implements Authenticator { } @Override - public void unAuthenticate() { + public void unauthenticate() { this.currentUser = null; } 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 f98fb4b..6a98ebd 100644 --- a/impl/core/src/test/java/security/athentication/custom/CustomAuthenticator.java +++ b/impl/core/src/test/java/security/athentication/custom/CustomAuthenticator.java @@ -36,7 +36,6 @@ */ package security.athentication.custom; -import br.gov.frameworkdemoiselle.security.AuthenticationException; import br.gov.frameworkdemoiselle.security.Authenticator; import br.gov.frameworkdemoiselle.security.User; @@ -47,7 +46,7 @@ public class CustomAuthenticator implements Authenticator { private User currentUser; @Override - public void authenticate() throws AuthenticationException { + public void authenticate() { this.currentUser = new User() { private static final long serialVersionUID = 1L; @@ -68,7 +67,7 @@ public class CustomAuthenticator implements Authenticator { } @Override - public void unAuthenticate() { + public void unauthenticate() { this.currentUser = null; } 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 eb99978..f6d1412 100644 --- a/impl/core/src/test/java/security/athentication/error/ErrorAuthenticator.java +++ b/impl/core/src/test/java/security/athentication/error/ErrorAuthenticator.java @@ -36,7 +36,6 @@ */ package security.athentication.error; -import br.gov.frameworkdemoiselle.security.AuthenticationException; import br.gov.frameworkdemoiselle.security.Authenticator; import br.gov.frameworkdemoiselle.security.User; @@ -45,12 +44,12 @@ public class ErrorAuthenticator implements Authenticator { private static final long serialVersionUID = 1L; @Override - public void authenticate() throws AuthenticationException { + public void authenticate() { throw new RuntimeException(); } @Override - public void unAuthenticate() { + public void unauthenticate() { throw new RuntimeException(); } diff --git a/impl/core/src/test/java/transaction/createdstrategy/TransactionWithCreatedStrategyTest.java b/impl/core/src/test/java/transaction/createdstrategy/TransactionWithCreatedStrategyTest.java index a5fc764..3db26b9 100644 --- a/impl/core/src/test/java/transaction/createdstrategy/TransactionWithCreatedStrategyTest.java +++ b/impl/core/src/test/java/transaction/createdstrategy/TransactionWithCreatedStrategyTest.java @@ -47,11 +47,10 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import test.Tests; import br.gov.frameworkdemoiselle.transaction.Transaction; import br.gov.frameworkdemoiselle.transaction.TransactionContext; -import test.Tests; - @RunWith(Arquillian.class) public class TransactionWithCreatedStrategyTest { diff --git a/impl/core/src/test/java/transaction/defaultstrategy/TransactionDefaultTest.java b/impl/core/src/test/java/transaction/defaultstrategy/TransactionDefaultTest.java index e90fab0..e1bd100 100644 --- a/impl/core/src/test/java/transaction/defaultstrategy/TransactionDefaultTest.java +++ b/impl/core/src/test/java/transaction/defaultstrategy/TransactionDefaultTest.java @@ -45,12 +45,11 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import test.Tests; import br.gov.frameworkdemoiselle.DemoiselleException; import br.gov.frameworkdemoiselle.transaction.Transaction; import br.gov.frameworkdemoiselle.transaction.TransactionContext; -import test.Tests; - @RunWith(Arquillian.class) public class TransactionDefaultTest { diff --git a/impl/core/src/test/java/util/beans/BeansTest.java b/impl/core/src/test/java/util/beans/BeansTest.java index ac1b095..4ade19c 100644 --- a/impl/core/src/test/java/util/beans/BeansTest.java +++ b/impl/core/src/test/java/util/beans/BeansTest.java @@ -48,7 +48,6 @@ import org.junit.Test; import org.junit.runner.RunWith; import test.Tests; - import br.gov.frameworkdemoiselle.DemoiselleException; import br.gov.frameworkdemoiselle.util.Beans; diff --git a/impl/core/src/test/java/util/beans/QualifierOne.java b/impl/core/src/test/java/util/beans/QualifierOne.java index 392de27..7e4a06d 100644 --- a/impl/core/src/test/java/util/beans/QualifierOne.java +++ b/impl/core/src/test/java/util/beans/QualifierOne.java @@ -38,8 +38,8 @@ package util.beans; import static java.lang.annotation.ElementType.FIELD; import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.ElementType.PARAMETER; +import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Retention; diff --git a/impl/core/src/test/java/util/beans/QualifierTwo.java b/impl/core/src/test/java/util/beans/QualifierTwo.java index 5e0c8fc..7364bf6 100644 --- a/impl/core/src/test/java/util/beans/QualifierTwo.java +++ b/impl/core/src/test/java/util/beans/QualifierTwo.java @@ -38,8 +38,8 @@ package util.beans; import static java.lang.annotation.ElementType.FIELD; import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.ElementType.PARAMETER; +import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Retention; 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 5625dee..e48cc29 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 @@ -74,7 +74,7 @@ public class ServletAuthenticator implements Authenticator { } @Override - public void unAuthenticate() { + public void unauthenticate() { getCredentials().clear(); try { getRequest().logout(); -- libgit2 0.21.2