Jasig/cas — pull request #397 by serac (2014-02-06 14:52:54+00:00)
Title: CAS-1418 Add support for ppolicy and complete generalization of LPPE

These changes add support for ppolicy by fully leveraging the account state warning/error support in ldaptive. Upon analysis of the current state of master, it was clear that the transition of LPPE to the new authentication APIs in CAS4 was incomplete, and these changes complete the work.

Summary of changes:
1. Leverage authentication exceptions and authentication subsystem warnings conveyed as List to drive high-level password policy behavior.
2. Introduce generic warning view into Webflow and transition to it whenever authentication subsystem produces warnings. This provides a general location to display arbitrary warning messages from the authentication subsystem; in this case password expiration warnings.
3. Generalize password policy configuration since it should be capable of implementation by any authentication handler. Technology-specific authentication modules may subclass as needed.
4. Add an LDAP-specific AccountStateHandler to provide a strategy pattern component that can be extended or subclassed to customize password policy handling. We provide two concrete implementations, DefaultAccountStateHandler and OptionalWarningAccountStateHandler.