org.exist.security
Class SecurityManager

java.lang.Object
  extended byorg.exist.security.SecurityManager

public class SecurityManager
extends java.lang.Object

SecurityManager is responsible for managing users and groups. There's only one SecurityManager for each database instance, which may be obtained by BrokerPool.getSecurityManager(). Users and groups are stored to collection /db/system in document users.xml. While it is possible to edit this file by hand, it may lead to unexpected results, since SecurityManager reads users.xml only during database startup and shutdown.


Field Summary
static java.lang.String ACL_FILE
           
static java.lang.String DBA_GROUP
           
static java.lang.String DBA_USER
           
static java.lang.String GUEST_GROUP
           
static java.lang.String GUEST_USER
           
static java.lang.String SYSTEM
           
 
Constructor Summary
SecurityManager(BrokerPool pool, DBBroker sysBroker)
          Initialize the security manager.
 
Method Summary
 void addGroup(java.lang.String name)
           
 void deleteUser(java.lang.String name)
           
 void deleteUser(User user)
           
 Group getGroup(int gid)
           
 Group getGroup(java.lang.String name)
           
 java.lang.String[] getGroups()
           
 User getUser(int uid)
           
 User getUser(java.lang.String name)
           
 User[] getUsers()
           
 boolean hasAdminPrivileges(User user)
           
 boolean hasGroup(java.lang.String name)
           
 boolean hasUser(java.lang.String name)
           
 void save(DBBroker broker)
           
 void setUser(User user)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ACL_FILE

public static final java.lang.String ACL_FILE
See Also:
Constant Field Values

DBA_GROUP

public static final java.lang.String DBA_GROUP
See Also:
Constant Field Values

DBA_USER

public static final java.lang.String DBA_USER
See Also:
Constant Field Values

GUEST_GROUP

public static final java.lang.String GUEST_GROUP
See Also:
Constant Field Values

GUEST_USER

public static final java.lang.String GUEST_USER
See Also:
Constant Field Values

SYSTEM

public static final java.lang.String SYSTEM
See Also:
Constant Field Values
Constructor Detail

SecurityManager

public SecurityManager(BrokerPool pool,
                       DBBroker sysBroker)
Initialize the security manager. Checks if the file /db/system/users.xml exists in the database. If not, it is created with two default users: admin and guest.

Parameters:
pool -
sysBroker -
Method Detail

deleteUser

public void deleteUser(java.lang.String name)
                throws PermissionDeniedException
Throws:
PermissionDeniedException

deleteUser

public void deleteUser(User user)
                throws PermissionDeniedException
Throws:
PermissionDeniedException

getUser

public User getUser(java.lang.String name)

getUser

public User getUser(int uid)

getUsers

public User[] getUsers()

addGroup

public void addGroup(java.lang.String name)

hasGroup

public boolean hasGroup(java.lang.String name)

getGroup

public Group getGroup(java.lang.String name)

getGroup

public Group getGroup(int gid)

getGroups

public java.lang.String[] getGroups()

hasAdminPrivileges

public boolean hasAdminPrivileges(User user)

hasUser

public boolean hasUser(java.lang.String name)

save

public void save(DBBroker broker)
          throws EXistException
Throws:
EXistException

setUser

public void setUser(User user)


Copyright (C) Wolfgang Meier. All rights reserved.