Package org.apache.catalina
Interface UserDatabase
- All Known Implementing Classes:
DataSourceUserDatabase
,MemoryUserDatabase
,SparseUserDatabase
public interface UserDatabase
Abstract representation of a database of
User
s and Group
s that can be maintained by an application,
along with definitions of corresponding Role
s, and referenced by a Realm
for authentication and
access control.- Since:
- 4.1
- Author:
- Craig R. McClanahan
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
Perform any background processing (e.g. checking for changes in persisted storage) required for the user database.void
close()
Finalize access to this user database.createGroup
(String groupname, String description) Create and return a newGroup
defined in this user database.createRole
(String rolename, String description) Create and return a newRole
defined in this user database.createUser
(String username, String password, String fullName) Create and return a newUser
defined in this user database.getId()
getRoles()
getUsers()
default boolean
Is the database available.default boolean
isSparse()
Is the database data loaded on demand.default void
modifiedGroup
(Group group) Signal the specifiedGroup
from this user database has been modified.default void
modifiedRole
(Role role) Signal the specifiedRole
from this user database has been modified.default void
modifiedUser
(User user) Signal the specifiedUser
from this user database has been modified.void
open()
Initialize access to this user database.void
removeGroup
(Group group) Remove the specifiedGroup
from this user database.void
removeRole
(Role role) Remove the specifiedRole
from this user database.void
removeUser
(User user) Remove the specifiedUser
from this user database.void
save()
Save any updated information to the persistent storage location for this user database.
-
Method Details
-
getGroups
- Returns:
- the set of
Group
s defined in this user database.
-
getId
String getId()- Returns:
- the unique global identifier of this user database.
-
getRoles
- Returns:
- the set of
Role
s defined in this user database.
-
getUsers
- Returns:
- the set of
User
s defined in this user database.
-
close
Finalize access to this user database.- Throws:
Exception
- if any exception is thrown during closing
-
createGroup
Create and return a newGroup
defined in this user database.- Parameters:
groupname
- The group name of the new group (must be unique)description
- The description of this group- Returns:
- The new group
-
createRole
Create and return a newRole
defined in this user database.- Parameters:
rolename
- The role name of the new role (must be unique)description
- The description of this role- Returns:
- The new role
-
createUser
Create and return a newUser
defined in this user database.- Parameters:
username
- The logon username of the new user (must be unique)password
- The logon password of the new userfullName
- The full name of the new user- Returns:
- The new user
-
findGroup
- Parameters:
groupname
- Name of the group to return- Returns:
- the
Group
with the specified group name, if any; otherwise returnnull
.
-
findRole
- Parameters:
rolename
- Name of the role to return- Returns:
- the
Role
with the specified role name, if any; otherwise returnnull
.
-
findUser
- Parameters:
username
- Name of the user to return- Returns:
- the
User
with the specified user name, if any; otherwise returnnull
.
-
open
Initialize access to this user database.- Throws:
Exception
- if any exception is thrown during opening
-
removeGroup
Remove the specifiedGroup
from this user database.- Parameters:
group
- The group to be removed
-
removeRole
Remove the specifiedRole
from this user database.- Parameters:
role
- The role to be removed
-
removeUser
Remove the specifiedUser
from this user database.- Parameters:
user
- The user to be removed
-
modifiedGroup
Signal the specifiedGroup
from this user database has been modified.- Parameters:
group
- The group that has been modified
-
modifiedRole
Signal the specifiedRole
from this user database has been modified.- Parameters:
role
- The role that has been modified
-
modifiedUser
Signal the specifiedUser
from this user database has been modified.- Parameters:
user
- The user that has been modified
-
save
Save any updated information to the persistent storage location for this user database.- Throws:
Exception
- if any exception is thrown during saving
-
backgroundProcess
default void backgroundProcess()Perform any background processing (e.g. checking for changes in persisted storage) required for the user database. -
isAvailable
default boolean isAvailable()Is the database available.- Returns:
- true
-
isSparse
default boolean isSparse()Is the database data loaded on demand. This is used to avoid eager loading of the full database data, for example for JMX registration of all objects.- Returns:
- false
-