#include <BDBSecurityPlugin.h>
Inheritance diagram for BDBSecurityPlugin:
Public Methods | |
bool | init () |
void | getLoginChallenge (string username, string &challenge) |
bool | hasReadPermission (NumID userid, NumID docid) |
bool | hasWritePermission (NumID userid, NumID docid) |
bool | hasDeletePermission (NumID userid, NumID docid) |
CoreError | fileCreated (NumID userid, NumID docid, Permission permission) |
CoreError | changeUserPermission (NumID userid, Permission permission, NumID adminid) |
CoreError | changeFilePermission (NumID docid, Permission permission, NumID userid) |
CoreError | filterSearchResults (QueryResult &queryResult) |
CoreError | addUser (const UserProfile &userProfile, string challenge, string password, NumID &userid) |
CoreError | delUser (NumID userid) |
CoreError | login (string username, string challenge, string response, UserProfile &user) |
CoreError | getUserProfile (NumID userid, UserProfile &userProfile) |
CoreError | changeUserProfile (NumID userid, const UserProfile &userProfile) |
CoreError | setPassword (NumID userid, string challenge, string oldPassword, string newPassword) |
CoreError | clearPassword (NumID userid) |
CoreError | listUsers (vector< NumID > &users) |
Characteristics: This security module utilizes an access control structure internally. This means that a list of privileged users is associated with each Document. Whenever a user gains permission to a file, the user's ID is added to the access control list of the file. This model implies some performance characteristics:
In the future, it might be possible to supply configuration- and/or build options for different behavior.
|
Adds a new user to the system.
Implements SecurityPlugin. |
|
Changes the permissions associated with a file. This function may return an error ('no_access_lists') if the security model does not associate permissions directly with files, for example on systems that only associate permissions with users.
Implements SecurityPlugin. |
|
Changes the permissions associated with a user. This function may return an error ('no_capabilities') if the security model does not associate permissions directly with users, for example on systems that only associate permissions with files.
Implements SecurityPlugin. |
|
Changes a user's profile.
Implements SecurityPlugin. |
|
Clear user password.
Implements SecurityPlugin. |
|
Deletes a user from the system.
Implements SecurityPlugin. |
|
Notifies the security module that a new file has been created.
Implements SecurityPlugin. |
|
Removes file identifiers from user queries according to the SecurityPlugin's internal policy to prevent sensitive information from reaching unauthorised users.
Implements SecurityPlugin. |
|
Obtains a login challenge for a user (e.g. 'Please type your password').
Implements SecurityPlugin. |
|
Retrieves a user's profile.
Implements SecurityPlugin. |
|
Checks user's permission to delete a file.
Implements SecurityPlugin. |
|
Checks user's permission to read a file.
Implements SecurityPlugin. |
|
Checks user's permission to write a file.
Implements SecurityPlugin. |
|
Initialize the plugin Implements Plugin. |
|
Retrieves a list of all users (list of IDs).
Implements SecurityPlugin. |
|
Retrieves a user-ID.
Implements SecurityPlugin. |
|
Change user's password. The old and new passwords can be encrypted using the challenge-response protocol.
Implements SecurityPlugin. |