It's been a while since I looked at this, but I believe if you don't have
any grace logins remaining then you'll get err=49.
If you want users to be able to successfully authenticate with an expired
password you'll have to configure some number of grace logins.

--Daniel Fisher

On Tue, Apr 21, 2015 at 11:47 AM, Raymond Drew Walker <ray.wal...@nau.edu>
wrote:

>   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"
> Date: Tuesday, April 21, 2015 at 12:33 AM
> To: "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>
> 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 as: 
> 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: 
> 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 as: dfis...@vt.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 as: 
arch...@mail-archive.com
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to