Provides core user information.
Implementations are not used directly by Acegi Security for security
purposes. They simply store user information which is later encapsulated
into
Authentication objects. This allows non-security related user
information (such as email addresses, telephone numbers etc) to be stored
in a convenient location.
Concrete implementations must take particular care to ensure the non-null
contract detailed for each method is enforced. See
org.acegisecurity.userdetails.User for a
reference implementation (which you might like to extend).
Concrete implementations should be immutable (value object semantics,
like a String). This is because the UserDetails will be
stored in caches and as such multiple threads may use the same instance.
author: Ben Alex version: $Id: UserDetails.java 1784 2007-02-24 21:00:24Z luke_t $ |