AbstractAuthenticationManger#authenticate is now instrumented with tag AUTHENTICATE to track authentication statistics in a configurable manner as with other Perf4j metrics. Improve and simplify logging of authentication managers.
Use seconds for memcached expiration periods and add verifying unit test. Switch to use of real memcached server for tests since jmemcached proved unreliable for precise testing of expirations. Developers must run memcached as an external test fixture, otherwise tests are skipped.
Refactor KryoTranscoder to use an initial buffer size and add explicit buffer overflow protection to handle what should be edge cases with proper buffer sizing. Also, correct improper usage of ByteBuffer#array(), which caused entire backing buffer to be stored in cache instead of just used bytes. Unfortunately the fix requires byte array copying with the resulting object allocation overhead.
Add KryoTranscoder component that uses Kryo serialization framework to marshal objects to bytes for storage in memcached. Add type-specific Kryo serializers for efficiency and proper handling of unmodifiable collections that are commonly used in CAS ticket types. The Kryo FieldSerializer class that handles complex types by default proved incapable of dealing with unmodiable collections in testing.
… to the fast-bind auth handler.
…nused folder and prepared a sample properties file for the list of settings. Added additional comments inside the login flow and the deployerConfigContext.xml file for how to enable LPPE.