# Package org.springframework.security.core.userdetails

package org.springframework.security.core.userdetails
The standard interfaces for implementing user data DAOs.

Can be the traditional `UserDetailsService` which uses a unique username to identify the user or, for more complex requirements, the `AuthenticationUserDetailsService`.

Related Packages
Package
Description
org.springframework.security.core
Core classes and interfaces related to user authentication and authorization, as well as the maintenance of a security context.
org.springframework.security.core.userdetails.cache
Implementations of `UserCache`.
org.springframework.security.core.userdetails.jdbc
Exposes a JDBC-based authentication repository, implementing `org.springframework.security.core.userdetails.UserDetailsService UserDetailsService`.
org.springframework.security.core.userdetails.memory
Exposes an in-memory authentication repository.
Class
Description
AuthenticationUserDetailsService<T extends Authentication>
Interface that allows for retrieving a UserDetails object based on an `Authentication` object.
MapReactiveUserDetailsService
A `Map` based implementation of `ReactiveUserDetailsService`
ReactiveUserDetailsPasswordService
An API for changing a `UserDetails` password.
ReactiveUserDetailsService
An API for finding the `UserDetails` by username.
User
Models core user information retrieved by a `UserDetailsService`.
User.UserBuilder
Builds the user to be added.
UserCache
Provides a cache of `UserDetails` objects.
UserDetails
Provides core user information.
UserDetailsByNameServiceWrapper<T extends Authentication>
This implementation for AuthenticationUserDetailsService wraps a regular Spring Security UserDetailsService implementation, to retrieve a UserDetails object based on the user name contained in an `Authentication` object.
UserDetailsChecker
Called by classes which make use of a `UserDetailsService` to check the status of the loaded `UserDetails` object.
UserDetailsPasswordService
An API for changing a `UserDetails` password.
UserDetailsService
Core interface which loads user-specific data.
UsernameNotFoundException
Thrown if an `UserDetailsService` implementation cannot locate a `User` by its username.