diff --git a/adapters/jboss/src/main/java/org/acegisecurity/adapters/jboss/JbossAcegiLoginModule.java b/adapters/jboss/src/main/java/org/acegisecurity/adapters/jboss/JbossAcegiLoginModule.java index 13133db768..883ae22166 100644 --- a/adapters/jboss/src/main/java/org/acegisecurity/adapters/jboss/JbossAcegiLoginModule.java +++ b/adapters/jboss/src/main/java/org/acegisecurity/adapters/jboss/JbossAcegiLoginModule.java @@ -17,6 +17,8 @@ package net.sf.acegisecurity.adapters.jboss; import net.sf.acegisecurity.Authentication; import net.sf.acegisecurity.AuthenticationException; +import net.sf.acegisecurity.CredentialsExpiredException; +import net.sf.acegisecurity.AccountExpiredException; import net.sf.acegisecurity.AuthenticationManager; import net.sf.acegisecurity.adapters.PrincipalAcegiUserToken; import net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken; @@ -210,7 +212,17 @@ public class JbossAcegiLoginModule extends AbstractServerLoginModule { if (super.log.isDebugEnabled()) { super.log.debug("authentication succeded"); } - } catch (AuthenticationException failed) { + }catch(CredentialsExpiredException cee){ + if (super.log.isDebugEnabled()) { + super.log.debug("Credential has expired"); + } + throw new javax.security.auth.login.CredentialExpiredException("The credential used to identify the user has expired"); + }catch(AccountExpiredException cee){ + if (super.log.isDebugEnabled()) { + super.log.debug("Account has expired, throwing jaas exception"); + } + throw new javax.security.auth.login.AccountExpiredException("The account specified in login has expired"); + }catch (AuthenticationException failed) { if (super.log.isDebugEnabled()) { super.log.debug("Bad password for username=" + username); } diff --git a/doc/xdocs/changes.xml b/doc/xdocs/changes.xml index b6166baf4b..154196fe8b 100644 --- a/doc/xdocs/changes.xml +++ b/doc/xdocs/changes.xml @@ -47,6 +47,7 @@ Added attempted username to view if processed by AuthenticationProcessingFilter Added UserDetails account and credentials expiration methods Added exceptions and events to support new UserDetails methods + Added new exceptions to JBoss container adapter Improved BasicAclProvider to only respond to specified ACL object requests Refactored MethodDefinitionSource to work with Method, not MethodInvocation Refactored AbstractFilterInvocationDefinitionSource to work with URL Strings alone diff --git a/project.xml b/project.xml index 0a6fd2cb7c..b1a3748042 100644 --- a/project.xml +++ b/project.xml @@ -133,6 +133,9 @@ Joni Suominen + + Sergio Berna +