org.apache.catalina.users
public class MemoryUserDatabase extends Object implements UserDatabase
Concrete implementation of UserDatabase that loads all defined users, groups, and roles into an in-memory data structure, and uses a specified XML file for its persistent storage.
Since: 4.1
Version: $Revision: 777556 $ $Date: 2009-05-22 16:59:34 +0200 (Fri, 22 May 2009) $
Field Summary | |
---|---|
protected HashMap | groups
The set of Groups defined in this database, keyed by
group name. |
protected String | id
The unique global identifier of this user database. |
protected String | pathname
The relative (to catalina.base ) or absolute pathname to
the XML file in which we will save our persistent information. |
protected String | pathnameNew
The relative or absolute pathname ot the file in which we write
our new information prior to renaming. |
protected String | pathnameOld
The relative or absolute pathname to the file in which our old
information is stored while renaming is in progress. |
protected boolean | readonly
A flag, indicating if the user database is read only. |
protected HashMap | roles
The set of Roles defined in this database, keyed by
role name. |
protected HashMap | users
The set of Users defined in this database, keyed by
user name. |
Constructor Summary | |
---|---|
MemoryUserDatabase()
Create a new instance with default values. | |
MemoryUserDatabase(String id)
Create a new instance with the specified values.
|
Method Summary | |
---|---|
void | close()
Finalize access to this user database.
|
Group | createGroup(String groupname, String description)
Create and return a new Group defined in this user database.
|
Role | createRole(String rolename, String description)
Create and return a new Role defined in this user database.
|
User | createUser(String username, String password, String fullName)
Create and return a new User defined in this user database.
|
Group | findGroup(String groupname)
Return the Group with the specified group name, if any;
otherwise return null .
|
Role | findRole(String rolename)
Return the Role with the specified role name, if any;
otherwise return null .
|
User | findUser(String username)
Return the User with the specified user name, if any;
otherwise return null .
|
Iterator | getGroups()
Return the set of Groups defined in this user database. |
String | getId()
Return the unique global identifier of this user database. |
String | getPathname()
Return the relative or absolute pathname to the persistent storage file. |
boolean | getReadonly()
Returning the readonly status of the user database |
Iterator | getRoles()
Return the set of Roles defined in this user database. |
Iterator | getUsers()
Return the set of Users defined in this user database. |
boolean | isWriteable()
Check for permissions to save this user database
to persistent storage location
|
void | open()
Initialize access to this user database.
|
void | removeGroup(Group group)
Remove the specified Group from this user database.
|
void | removeRole(Role role)
Remove the specified Role from this user database.
|
void | removeUser(User user)
Remove the specified User from this user database.
|
void | save()
Save any updated information to the persistent storage location for
this user database.
|
void | setPathname(String pathname)
Set the relative or absolute pathname to the persistent storage file.
|
void | setReadonly(boolean readonly)
Setting the readonly status of the user database
|
String | toString()
Return a String representation of this UserDatabase. |
catalina.base
) or absolute pathname to
the XML file in which we will save our persistent information.Parameters: id Unique global identifier of this user database
Throws: Exception if any exception is thrown during closing
Parameters: groupname The group name of the new group (must be unique) description The description of this group
Parameters: rolename The role name of the new group (must be unique) description The description of this group
Parameters: username The logon username of the new user (must be unique) password The logon password of the new user fullName The full name of the new user
null
.
Parameters: groupname Name of the group to return
null
.
Parameters: rolename Name of the role to return
null
.
Parameters: username Name of the user to return
Throws: Exception if any exception is thrown during opening
Parameters: group The group to be removed
Parameters: role The role to be removed
Parameters: user The user to be removed
Throws: Exception if any exception is thrown during saving
Parameters: pathname The new pathname
Parameters: pathname The new pathname