configuration.md
- Chaque adapter peut désormais tester s'il est compétent pour traiter la requête d'authentification. - Création d'un adapter d'authentification comme les autres pour Shib. - Pages de connexion différentes selon le type d'authentification : shib ; db ou ldap ; cas. - Possibilité d'ordonner les formulaires de connexion proposés (config). - Possibilité d'ajouter une description HTML à chaque formulaire de connexion (config). Réparation du mécanisme de redirection vers l'URL demandée avant connexion. Correction du bug de rémanence de l'authentification shibboleth simulée.
- Configuration
- Configuration globale
- Enregistrement automatique dans la base de l'appli de l'utilisateur authentifié via LDAP
- Création de compte dans la base de l'appli par l'utilisateur lui-même
- Système de gestion des privilèges
- Désctivation d'autres parties d'UnicaenAuth
- Interface graphique de gestion (IHM)
- Configuration locale
- Authentification
- Usurpation d'identité
Configuration
Il s'agit ici d'adapter certaines options de configuration des modules.
Configuration globale
- Copier/coller/renommer le fichier config/unicaen-auth.global.php.dist du module vers config/autoload/unicaen-auth.global.php de votre projet.
- Adapter les informations suivantes à votre contexte (sans modifier le nom des clés)…
Enregistrement automatique dans la base de l'appli de l'utilisateur authentifié via LDAP
Clé 'save_ldap_user_in_database' : flag indiquant si l'utilisateur authentifié avec succès via l'annuaire LDAP doit être enregistré/mis à jour dans la table des utilisateurs de l'appli (fonctionnalité du module ZfcUser).
NB : Si vous activez cette fonctionnalité, vous devez spécifier dans la configuration locale du module (voir ci-dessous) les infos de connexion à la base de données d'authentification (“orm_auth”), soit spécifier dans la configuration locale d'un module quelconque les infos de connexion à la base de données principale de l'appli (“orm_default”).
Création de compte dans la base de l'appli par l'utilisateur lui-même
Clé 'enable_registration' : autorisation de la création d'un compte utilisateur par l'utilisateur lui-même dans la base de données de l'appli.
NB : Si vous activez cette fonctionnalité, vous devez spécifier dans la configuration locale du module (voir ci-dessous) les infos de connexion à la base de données d'authentification (“orm_auth”), soit spécifier dans la configuration locale d'un module quelconque les infos de connexion à la base de données principale de l'appli (“orm_default”).
Système de gestion des privilèges
Le système de gestion des privilèges est activé par défaut. Il peut néanmoins être désactivé si
- il n'est pas utile à votre application
- si vous implémentez votre propre système de privilèges
La paramètre booléen unicaen-auth/enable_privileges en détermine l'activation.
Désctivation d'autres parties d'UnicaenAuth
UnicaenAuth possède ses propres fournisseurs de rôles, d'identités (dans la configuration, rubrique respectives identity_provider et role_providers de bjyauthorize, pré-renseignées dans la configuration globale d'UnicaenAuth.
Tout comme le système de gestion des privilèges, il est possible de désactiver tout ou partie de ces systèmes pour les remplacer par les votres si nécessaire. Il suffit pour cela de commenter les lignes correspondantes dans le fichier de configuration global d'UnicaenAuth copié dans votre projet.
Interface graphique de gestion (IHM)
Le système de gestion des privilèges d'UnicaenAuth est associé à une interface de gestion qui permet de :
- Gérer les rôles (ajout, modification et suppression de rôles) dynamiquement.
- Gérer l'association des rôles et des privilèges (les privilèges étant gérés directement en base de données car ces derniers sont liés au code source et ne sont pas dynamiques).
Un menu “Droits d'accès” est affiché par défaut dans votre barre de menu principale. Ceci peut bien entendu être modifié selon vos souhaits dans le fichier de configuration global d'UnicaenAuth placé dans votre projet.
Configuration locale
- Copier/coller/renommer le fichier config/unicaen-auth.local.php.dist du module vers config/autoload/unicaen-auth.local.php de votre projet.
- Adapter les informations suivantes à votre contexte (sans modifier le nom des clés)…
Authentification
Cf. Authentification.
Usurpation d'identité
Clé usurpation_allowed_usernames
: liste des identifiants de connexion des utilisateurs
autorisés à se connecter à l'appli sous l'identité de n'importe quel utilisateur (issus de l'annuaire LDAP ou de la
base de données d'authentification), exemple :
unicaen-auth.local.php
'usurpation_allowed_usernames' => ['login'],
D'après cet exemple, l'utilisateur dont l'identifiant de connexion est login
est habilité à saisir dans le formulaire
de connexion l'identifiant login=victime
et son mot de passe habituel pour se faire passer pour l'utilisateur dont
l'identifiant est victime
.