4.8 User Management
All operations done on the Daisy Repository Server are done as a certain user acting in a certain role(s). For this purpose, the Repository Server has a user management module to define the users and the roles. The authentication of the users is done by a separate component, allowing to plug in custom authentication techniques.
4.8.1 User Management
Users and roles are uniquely and permanently identified by a numeric ID, but they also have respectively a unique login and unique name.
A user has one or more roles. After logging in, it is both possible to have just one role active and let the user manually switch between his/her roles, or to have all roles of a user active at the same time (which is the behaviour traditionally associated with user groups). If a user has a default role, this role will be active after login. If no default role for the user is specified, all its roles will become active after login, with the exception of the Administrator role (if the user would have this role). This is because the Administrator role allows to do everything, which would then defeat the purpose of having other roles. If the user only has the Administrator role, then obviously that one will become active after login.
Users have a boolean flag called updateable by user: this indicates whether a user can update his/her own record. If true, a user can change its first name, last name, email and password. Role membership can of course not be changed, and neither can the login. It is useful to set this off for "shared users", for example the guest user in the Daisy Wiki application.
The Confirmed and ConfirmKey fields are used to support the well-known email-based verification mechanism in case of self-registration. If the Confirmed flag is false a user will not be able to log in.
188.8.131.52 The Administrator role
The repository server has one predefined role: Administrator (ID: 1). People having the role of Administrator as active role have a whole bunch of special privileges:
- they can access all documents in the repository and perform any operation on them. Thus the access control system doesn't apply to them.
- they can change the repository schema, manage users, manage collections, and manage the access control configuration.
184.108.40.206 Predefined users and roles
$system is a bootstrap user internally needed in the repository. The user $system cannot log in, so its password is irrelevant. This user should not (and cannot) be deleted, nor should it be renamed. Simply don't worry about it.
The user "internal" is a user created during the initialisation of the Daisy repository. The user is used by various components that run inside the repository server to talk to the repository. By default, we also use this user in the repository client component that runs inside Cocoon, which needs a user to update its caches.
The internal user has (and should have) the Administrator role.
During installation, this user gets assigned a long random generated password (you can see it in the myconfig.xml or cocoon.xconf).
220.127.116.11.3 guest user and guest role (Daisy Wiki)
The Daisy Wiki predefines a user called guest and a role called guest. This user has the password "guest". This is the user that becomes automatically active when surfing to the Daisy Wiki application, without needing to log in. After initialisation of the Daisy Wiki, the ACL is configured to disallow any write operations for users having the guest role.
18.104.22.168.4 registrar (Daisy Wiki)
The registrar user is the user that will:
- create and update user accounts during the self-registration
- reset passwords and do email-based lookup of logins in case of forgotten passwords or logins
During installation, this user gets assigned a long random generated password (you can see it in the cocoon.xconf).