So it looks like, judging by your logs, that CAS is handling the error correctly. In both cases, the error that is returned from the authentication event is password-expired. This may be an issue with your UnboundID provider.
In your DefaultConnectionFactory, are you specifying the provider as UnboundID? That might help better translate the error for CAS. From: Raymond Drew Walker [mailto:ray.wal...@nau.edu] Sent: Tuesday, April 21, 2015 8:47 AM To: cas-user@lists.jasig.org Subject: Re: [cas-user] LPPE expired password flow Misagh, The answer to your first question is yes. Our authn source is LDAP (UnboundID). The login-webflow.xml is stock so there is no transition config to post (unless I’m misunderstanding your request.) >From what I can tell from the logs, difference between the two scenarios is only contained the extended LDAP response information, not any response codes. The logs look something like this: Good password & Expired (note: “LDAP: error code 49 - Rejecting a bind request for user X=X,ou=people,dc=nau,dc=edu because that user's password is expired") 2015-04-08 13:34:36,777 DEBUG [org.jasig.cas.authentication.LdapAuthenticationHandler] - LDAP response: [org.ldaptive.auth.AuthenticationResponse@1168138181::authenticationResultCode=AUTHENTICATION_HANDLER_FAILURE, ldapEntry=[dn=X=X,ou=people,dc=nau,dc=edu[]], accountState=[org.ldaptive.auth.ext.PasswordPolicyAccountState@602907193::accountWarnings=null, accountErrors=[PASSWORD_EXPIRED]], result=false, resultCode=INVALID_CREDENTIALS, message=javax.naming.AuthenticationException: [LDAP: error code 49 - Rejecting a bind request for user X=X,ou=people,dc=nau,dc=edu because that user's password is expired], controls=[[org.ldaptive.control.PasswordPolicyControl@1215014544::criticality=false, timeBeforeExpiration=0, graceAuthNsRemaining=0, error=PASSWORD_EXPIRED]]] 2015-04-08 13:34:36,778 DEBUG [org.jasig.cas.authentication.LdapAuthenticationHandler] - Applying password policy to [org.ldaptive.auth.AuthenticationResponse@1168138181::authenticationResultCode=AUTHENTICATION_HANDLER_FAILURE, ldapEntry=[dn=naueduregid=X,ou=people,dc=nau,dc=edu[]], accountState=[org.ldaptive.auth.ext.PasswordPolicyAccountState@602907193::accountWarnings=null, accountErrors=[PASSWORD_EXPIRED]], result=false, resultCode=INVALID_CREDENTIALS, message=javax.naming.AuthenticationException: [LDAP: error code 49 - Rejecting a bind request for user X=X,ou=people,dc=nau,dc=edu because that user's password is expired], controls=[[org.ldaptive.control.PasswordPolicyControl@1215014544::criticality=false, timeBeforeExpiration=0, graceAuthNsRemaining=0, error=PASSWORD_EXPIRED]]] 2015-04-08 13:34:36,778 DEBUG [org.jasig.cas.authentication.support.DefaultAccountStateHandler] - Handling PASSWORD_EXPIRED Bad password & Expired (note: "LDAP: error code 49 - The password provided by the user did not match any password(s) stored in the user's entry”) 2015-04-14 13:51:06,204 DEBUG [org.jasig.cas.authentication.LdapAuthenticationHandler] - LDAP response: [org.ldaptive.auth.AuthenticationResponse@1179554844::authenticationResultCode=AUTHENTICATION_HANDLER_FAILURE, ldapEntry=[dn=X=X,ou=people,dc=nau,dc=edu[]], accountState=[org.ldaptive.auth.ext.PasswordPolicyAccountState@1356717651::accountWarnings=null, accountErrors=[PASSWORD_EXPIRED]], result=false, resultCode=INVALID_CREDENTIALS, message=javax.naming.AuthenticationException: [LDAP: error code 49 - The password provided by the user did not match any password(s) stored in the user's entry], controls=[[org.ldaptive.control.PasswordPolicyControl@448359676::criticality=false, timeBeforeExpiration=0, graceAuthNsRemaining=0, error=PASSWORD_EXPIRED]]] 2015-04-14 13:51:06,205 DEBUG [org.jasig.cas.authentication.LdapAuthenticationHandler] - Applying password policy to [org.ldaptive.auth.AuthenticationResponse@1179554844::authenticationResultCode=AUTHENTICATION_HANDLER_FAILURE, ldapEntry=[dn=X=X,ou=people,dc=nau,dc=edu[]], accountState=[org.ldaptive.auth.ext.PasswordPolicyAccountState@1356717651::accountWarnings=null, accountErrors=[PASSWORD_EXPIRED]], result=false, resultCode=INVALID_CREDENTIALS, message=javax.naming.AuthenticationException: [LDAP: error code 49 - The password provided by the user did not match any password(s) stored in the user's entry], controls=[[org.ldaptive.control.PasswordPolicyControl@448359676::criticality=false, timeBeforeExpiration=0, graceAuthNsRemaining=0, error=PASSWORD_EXPIRED]]] 2015-04-14 13:51:06,206 DEBUG [org.jasig.cas.authentication.support.DefaultAccountStateHandler] - Handling PASSWORD_EXPIRED I’m currently looking into our LDAP config options to see if anything can be tweaked to provide more info to LPPE. -- Raymond Walker Software Systems Engineer StSp. ITS Northern Arizona University From: Misagh Moayyed Reply-To: "cas-user@lists.jasig.org <mailto:cas-user@lists.jasig.org> " Date: Tuesday, April 21, 2015 at 12:33 AM To: "cas-user@lists.jasig.org <mailto:cas-user@lists.jasig.org> " Subject: Re: [cas-user] LPPE expired password flow So what you are saying is, regardless of the password if the account has an expired status you are redirected to the expired-password screen? This is strange. I don’t think account status can be determined without first fully authenticating the user. What is your authn source? Could you share your transitions configuration and the logs? - Misagh On Apr 20, 2015, at 11:42 PM, Raymond Drew Walker <ray.wal...@nau.edu <mailto:ray.wal...@nau.edu> > wrote: All, Noticing interesting default behavior for logins with expired passwords, that are also using incorrect passwords (neither expired or valid). The user is still transitioned to the casExpiredPassView.url Is this expected behavior for users entering bad passwords? I suppose this behavior could allow for users attempting to scrape user logins for expired users as part of a larger vector of attack (social, etc.) Is there a preferred method to correct this behavior as to not reveal the existence of an account when an incorrect password is used? I have not checked this behavior for the password warning or other “handleAuthenticationFailure” transitions. -- Raymond Walker Software Systems Engineer StSp. ITS Northern Arizona University -- You are currently subscribed to cas-user@lists.jasig.org <mailto:cas-user@lists.jasig.org> as: mmoay...@unicon.net <mailto:mmoay...@unicon.net> To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user -- You are currently subscribed to cas-user@lists.jasig.org <mailto:cas-user@lists.jasig.org> as: ray.wal...@nau.edu <mailto:ray.wal...@nau.edu> To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user -- You are currently subscribed to cas-user@lists.jasig.org <mailto:cas-user@lists.jasig.org> as: mmoay...@unicon.net <mailto:mmoay...@unicon.net> To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user -- You are currently subscribed to cas-user@lists.jasig.org as: arch...@mail-archive.com To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user