Général:FAQ GestionUtilisateurs
Sommaire
Généralités
Dans ce chapitre, on considèrera que SQWareWeb a été installé sur dbsqware@sqwarebox ...
Limites de cette section
Ce chapitre ne traite que de la gestion des utilisateurs de l'interface web de dbsqware, et que le module SQWareWeb est sur un socle déjà paramétré et fonctionnel.
MODOP général ajout d'un utilisateur
Explication des différents types d'utilisateur
Dans dbsqware vous pouvez créer et ajouter des utilisateurs de différents types :
- des utilisateurs locaux
- des utilisateurs externes, Active Directory ou ldap
- des utilisateurs API
- des utilisateurs API Maj
Ajout d'un utilisateur local
Ce sont des utilisateurs internes à dbSQWare et donc l'authentification est faite par la machine dbSQWare.
Pour Ajouter un utilisateur local capable de se connecter : il faut aller sur l'interface web de dbsqware dans Administration (menu 1) Access (menu 2) Logins (menu 3).
En haut à droite vous cliquez sur le bouton Add.
Le formulaire suivant s'ouvre :
Lors de la création de l'utilisateurs, remplir le formulaire de la façon suivante :
- dans Authentification : choisir internal
- dans User Name : mettre le login que vous voulez pour votre utilisateur
- dans surname et firstname : mettre les informations nécessaires pour différencier les utilisateurs.
- choisir YES comme bouton sous SQWareWeb
- dans comments : commentaires optionnels
- saisir le mot de passe pour ce compte (une fois connecté l'utilisateur peut le changer)
Ajout d'un utilisateur Active Directory
Il y aura quelques informations et configurations nécessaires à cette configuration :
- votre machine dbsqware doit pouvoir identifier les DC (Domain Controler) de votre domaine
- soit en utilisant 1 DC ou plus en tant que server DNS
- soit en utilisant comme serveur DNS un DNS ayant les enregistrements SRV pointant sur vos DC
- votre machine dbsqware et vos DC doivent avoir une connectivité réseau sur les ports ldap utilisés dans votre infra (389 par défaut)
- les utilisateurs doivent exister sur votre domaine
Identification du contrôleur de domaine
Il faut spécifier à dbSQWare comment trouver le contrôleur de domaine et le nom de domaine de vos utilisateurs.
Sur la machine dbSQWare avec le compte dbsqware modifier le fichier /home/dbsqware/dbSQWare/SQWareWeb/custom/authentication_custom.php pour modifier si besoin les variables $lvsqw_ldaphost, $lvsqw_ldapport et $lvsqw_ldapbind.
#From dbsqware@vmsqwarebox
dbsqware@vmsqwarebox:/home/dbsqware/dbSQWare/SQWareWeb/custom $ vi authentication_custom.php
...
function gfsqw_connection_external_ad($lasqw_parameters)
{
$lvsqw_error = false;
$lvsqw_errorMSG = "";
$lvsqw_userName = $lasqw_parameters[0];
$lvsqw_password = $lasqw_parameters[1];
// Server connection
// /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
// Variables : $lvsqw_ldaphost
// $lvsqw_ldapport
// To be adapted according to the company / Fr: A adapter selon l'entreprise
// /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
$lvsqw_ldaphost = "srvaddsw01.domain.tld"; // /!\ EXAMPLE /!\
$lvsqw_ldapport = 389; // /!\ EXAMPLE /!\
$lvsqw_ldapconnect = ldap_connect($lvsqw_ldaphost, $lvsqw_ldapport);
ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_REFERRALS, 0);
if($lvsqw_ldapconnect){
// Authentication
// /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
// Example with '@dbsqware.ad' / Fr: Exemple avec '@dbsqware.ad'
// To be adapted according to the company / Fr: A adapter selon l'entreprise
// /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
$lvsqw_ldapbind = ldap_bind($lvsqw_ldapconnect, $lvsqw_userName.'@domain.tld', $lvsqw_password); // /!\ EXAMPLE /!\
...
Ajout des utilisateurs sur l'interface web dbSQWare
Bien que l'authentification sera faite par votre contrôleur de domaine il faut déclarer à dbSQWare quels sont les comptes qui pourront se connecter.
Pour autoriser un utilisateur du domaine Active Directory à ce connecter à SQWareWeb : il faut aller sur l'interface web de dbSQWare dans Administration (menu 1) Access (menu 2) Logins (menu 3).
En haut à droite vous cliquez sur le bouton Add.
Lors de la création de l'utilisateur, remplir le formulaire de la façon suivante :
- dans Authentification : choisir external_ad
- dans User Name : mettre le login AD de votre utilisateur
- dans surname et firstname : mettre les informations nécessaires pour différencier les utilisateurs.
- choisir YES comme bouton sous SQWareWeb
- dans comments : commentaires optionnels
Ajout d'un utilisateur LDAP
Il y aura quelques informations et configurations nécessaires à cette configuration :
- votre machine dbSQWare doit pouvoir identifier le serveur ldap de votre domaine
- soit en utilisant ce serveur en tant que serveur DNS
- soit en utilisant comme serveur DNS un DNS ayant les enregistrements SRV pointant sur ce serveur ldap
- votre machine dbSQWare et votre serveur ldap doivent avoir une connectivité réseau sur les ports ldap utilisés dans votre infra.
- les utilisateurs doivent exister sur votre domaine
Identification du serveur ldap
Il faut spécifier à dbSQWare comment trouver le serveur ldap et le nom de domaine de vos utilisateurs.
Pour cela avec l'utilisateur dbsqware vous devez remplacer tout le contenu du fichier /home/dbsqware/dbSQWare/SQWareWeb/custom/authentication_custom.php par :
<?php
//########################################################################################
// SQWareWeb module of dbSQWare
// dbSQWare is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS for a PARTICULAR PURPOSE. See the
// CGU/CGA for more details.
// You should have received a copy of the CGU/CGA
// along with this program. If not, see <http://www.dbsqware.com/licenses/>.
// For information : contact@dbsqware.com or www.dbsqware.com
//########################################################################################
//# @Copyright 2010-2025, dbSQWare (www.dbsqware.com)
error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_WARNING & ~E_STRICT);
// Function : Login via AD
// -------------------------
// $lasqw_parameters ==> Array with 2 elements :
// - username
// - password
function gfsqw_connection_external_ad($lasqw_parameters)
{
$lvsqw_error = false;
$lvsqw_errorMSG = "";
$lvsqw_userName = $lasqw_parameters[0];
$lvsqw_password = $lasqw_parameters[1];
$lvsqw_userLogin = "uid=" . $lvsqw_userName . ",ou=people,dc=example,dc=com" ; // For LDAP server, if needed change dn informations with yours
// Server connection
// /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
// Variables : $lvsqw_ldaphost $lvsqw_unixldaphost
// $lvsqw_ldapport $lvsqw_unixldapport
// To be adapted according to the company / Fr: A adapter selon l'entreprise
// /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
$lvsqw_ldaphost = "srv-adds01"; // /!\ EXAMPLE for Active directory /!\
$lvsqw_ldapport = 389; // /!\ EXAMPLE for Active Directory/!\
$lvsqw_unixldaphost = "ldaps://srv-ldap01"; // /!\ EXAMPLE for LDAP unix /!\
$lvsqw_unixldapport = 636; // /!\ EXAMPLE for LDAP unix /!\
$lvsqw_ldapconnect = ldap_connect($lvsqw_ldaphost, $lvsqw_ldapport);
ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_REFERRALS, 0);
if($lvsqw_ldapconnect){
// Authentication
// /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
// Example with '@dbsqware.ad' / Fr: Exemple avec '@dbsqware.ad'
// To be adapted according to the company / Fr: A adapter selon l'entreprise
// /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
$lvsqw_ldapbind = ldap_bind($lvsqw_ldapconnect, $lvsqw_userName.'@dbsqware.ad', $lvsqw_password); // /!\ EXAMPLE /!\
if(!($lvsqw_ldapbind)) {
ldap_close($lvsqw_ldapconnect);
ldap_set_option(NULL, LDAP_OPT_X_TLS_REQUIRE_CERT, 0);
$lvsqw_ldapconnect = ldap_connect($lvsqw_unixldaphost, $lvsqw_unixldapport);
ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($lvsqw_ldapconnect, LDAP_OPT_REFERRALS, 0);
if($lvsqw_ldapconnect){
$lvsqw_ldapbind = ldap_bind($lvsqw_ldapconnect, $lvsqw_userLogin, $lvsqw_password);
if(!($lvsqw_ldapbind)) {
$lvsqw_error = true;
$lvsqw_errorMSG = ldap_error($lvsqw_ldapconnect);
}
}
ldap_close($lvsqw_ldapconnect);
}
}
else {
ldap_close($lvsqw_ldapconnect);
ldap_set_option(NULL, LDAP_OPT_X_TLS_REQUIRE_CERT, 0);
$lvsqw_unixldapconnect = ldap_connect($lvsqw_unixldaphost, $lvsqw_unixldapport);
ldap_set_option($lvsqw_unixldapconnect, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($lvsqw_unixldapconnect, LDAP_OPT_REFERRALS, 0);
if ($lvsqw_unixldapconnect){
$lvsqw_ldapbind = ldap_bind($lvsqw_unixldapconnect, $lvsqw_userLogin, $lvsqw_password);
if(!($lvsqw_ldapbind)) {
$lvsqw_error = true;
$lvsqw_errorMSG = ldap_error($lvsqw_ldapconnect);
}
}
ldap_close($lvsqw_ldapconnect);
$lvsqw_error = true;
$lvsqw_errorMSG = "Unable to connect to LDAP server";
}
return array($lvsqw_error, $lvsqw_errorMSG);
}
?>
Cette version du fichier vous permet d'avoir à la fois un domaine Active Directory et un domaine LDAP pour l'authentification externe de vos utilisateurs.
Ajout des utilisateurs sur l'interface web dbSQWare
Bien que l'authentification sera faite par votre serveur ldap il faut déclarer à dbSQWare quels sont les comptes qui pourront se connecter.
Pour autoriser un utilisateur du domaine ldap à ce connecter à SQWareWeb : il faut aller sur l'interface web de dbSQWare dans Administration (menu 1) Access (menu 2) Logins (menu 3).
En haut à droite vous cliquez sur le bouton Add.
Lors de la création de l'utilisateur, remplir le formulaire de la façon suivante :
- dans Authentification : choisir external_ad
- dans User Name : mettre le login ldap de votre utilisateur
- dans surname et firstname : mettre les informations nécessaires pour différencier les utilisateurs.
- choisir YES comme bouton sous SQWareWeb
- dans comments : commentaires optionnels
MODOP général ajout de privilèges à utilisateur
Si vous venez d'ajouter un utilisateur, il peut se connecter mais il n'a pas encore de privilèges.
Si on le connecte à l'interface, aucune option n'est disponible, ni aucun lien.
Pour donner des droits à l'utilisateur : il faut aller sur l'interface web de dbSQWare dans Administration (menu 1) Access (menu 2) LoginsPrivs (menu 3).
En haut à droite vous cliquez sur le bouton Add.
Lors de l'ajout de privilèges :
- dans Grantee User Name : choisir votre nouvel utilisateur
- dans Grantee Group Name : choisir le groupe qui correspond aux privilèges que vous voulez donner à cet utilisateur
- dans comments : commentaires optionnels
Une fois connecté votre utilisateur aura les droits sélectionnés