Introduction
If BibORB is used in a collaborative way, you will want to define who can add, modify or delete references. Presently, two authentication methods are supported: MySQL and files.
Access restriction using .htaccess
You can use .htaccess to restrict the access to BibORB. Create a new .htpasswd file and uncomment the authentication section in .htaccess
AuthName BibORB Restricted Area AuthType Basic AuthUserFile /path/to/htpasswd require valid-user
MySQL authentication
Values to defined in config.php:
/** * If TRUE, this will disable authentification. * All users will have the administrator status */ $disable_authentication = FALSE; /** * Authentication methods: mysql, files * Used if $disable_authentication = FALSE */ $authentication_method = 'mysql';
The next step is to correctly set up php/auth_backends/auth.mysql.php. This is done by defining:
/**
The database configuration
*/
$host = "localhost";
$db = "biborb";
$dbuser = "biborb-admin";
$pass = "biborbdev";
$table = "biborb_users";
$auth_table = "biborb_auth";
$host: address of the machine hosting the database.$db: name of the database.$dbuser: a valid MySQL user which has access to the database.$pass: its password.$table: the table containing valid biborb users and passwords.$auth_table: the table that defined authorizations for biborb users.
data/biborb.sql contains the SQL structure used with the MySQL authentication. Have a look to php/auth_backends/auth.mysql.php for details about the structure of the database.
Files authentication
If you don't want or don't have access to a database, you can configure authorizations using files.
Values to defined in config.php:
/** * If TRUE, this will disable authentification. * All users will have the administrator status */ $disable_authentication = FALSE; /** * Authentication methods: mysql, files * Used if $disable_authentication = FALSE */ $authentication_method = 'files';
Files used to defines access are php/auth_backends/bib_access.txt and php/auth_backends/bib_users.txt
php/auth_backends/bib_users.txt: it contains a list of user/password:user:crypted_password,isAdminwhereisAdmin=1if the user is an administrator (all privileges, add/delete bibliographies), 0 otherwise.testuser:testpass,0 admin:admin,1
Usephp/auth_backends/crypt_password.phpto crypt your password, then copy it inbib_users.txt.php/auth_backends/bib_access.txt: it defines the users' privileges on each database (a: add reference,d: delete reference,m: update reference)abibliography:testuser*m,anotheruser*adm anotherbiblio:testuser*adm,anotheruser*am