Skip to content
Snippets Groups Projects
Select Git revision
  • dd5c8b6035f04ee211dd5b4fe4077c882b4136e2
  • master default protected
  • 5.x
  • ll-php8-bs5
  • release_5_bs5
  • ll-php8
  • 4.x
  • laminas_migration
  • release_1.0.0.2
  • release_4.0.0
  • release_3.2.8
  • bootstrap4_migration
  • 1.0.0.3
  • 6.0.7
  • 6.0.6
  • 6.0.5
  • 6.0.4
  • 6.0.3
  • 6.0.2
  • 6.0.1
  • 5.1.1
  • 6.0.0
  • 5.1.0
  • 5.0.0
  • 4.0.2
  • 3.2.11
  • 4.0.1
  • 3.2.10
  • 4.0.0
  • 1.0.0.2
  • 3.2.9
  • 3.2.8
32 results

unicaen-auth.global.php.dist

Blame
  • Bertrand GAUTHIER's avatar
    Bertrand Gauthier authored
      - 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.
    cf1ec047
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    unicaen-auth.global.php.dist 7.49 KiB
    <?php
    /**
     * UnicaenAuth Global Configuration
     */
    $settings = [
        /**
         * Flag indiquant si l'utilisateur authenitifié avec succès via l'annuaire LDAP doit
         * être enregistré/mis à jour dans la table des utilisateurs de l'appli.
         */
        'save_ldap_user_in_database' => false,
    
        'enable_privileges' => true,
    
        'entity_manager_name' => 'doctrine.entitymanager.orm_default', // nom du gestionnaire d'entités à utiliser
    
        /**
         * Attribut LDAP utilisé pour le username des utilisateurs
         * A personnaliser au besoin
         */
        //'ldap_username' => 'supannaliaslogin',
    ];
    
    $config = [
        'unicaen-auth' => $settings,
    
        'bjyauthorize' => [
            /* this module uses a meta-role that inherits from any roles that should
             * be applied to the active user. the identity provider tells us which
             * roles the "identity role" should inherit from.
             *
             * for ZfcUser, this will be your default identity provider
             */
            'identity_provider' => 'UnicaenAuth\Provider\Identity\Chain',
    
            /* role providers simply provide a list of roles that should be inserted
             * into the Zend\Acl instance. the module comes with two providers, one
             * to specify roles in a config file and one to load roles using a
             * Zend\Db adapter.
             */
            'role_providers'    => [
                /**
                 * Fournit les rôles issus de la base de données éventuelle de l'appli.
                 * NB: si le rôle par défaut 'guest' est fourni ici, il ne sera pas ajouté en double dans les ACL.
                 * NB: si la connexion à la base échoue, ce n'est pas bloquant!
                 */
                'UnicaenAuth\Provider\Role\DbRole'   => [],
                /**
                 * Fournit le rôle correspondant à l'identifiant de connexion de l'utilisateur.
                 * Cela est utile lorsque l'on veut gérer les habilitations d'un utilisateur unique
                 * sur des ressources.
                 */
                'UnicaenAuth\Provider\Role\Username' => [],
            ],
        ],
    
        'zfcuser'      => [
            /**
             * Classe de l'entité représentant un utilisateur authentifiable.
             * Décommenter pour spécifier une autre classe que celle par défaut (\UnicaenAuth\Entity\Db\User).
             * NB: la classe spécifiée doit hériter de \UnicaenAuth\Entity\Db\AbstractUser.
             */
            //'user_entity_class' => \Application\Entity\Db\Utilisateur::class, // exemple
    
            /**
             * Enable registration
             * Allows users to register through the website.
             * Accepted values: boolean true or false
             */
            'enable_registration' => false,
        ],
    ];
    
    if ($settings['enable_privileges']) {
        $privileges = [
            'unicaen-auth' => [
                /**
                 * Classes représentant les entités rôle et privilège.
                 * - Entité rôle      : héritant de \UnicaenAuth\Entity\Db\AbstractRole      ou implémentant \UnicaenAuth\Entity\Db\RoleInterface.
                 * - Entité privilège : héritant de \UnicaenAuth\Entity\Db\AbstractPrivilege ou implémentant \UnicaenAuth\Entity\Db\PrivilegeInterface.
                 *
                 * Valeurs par défaut :
                 * - 'role_entity_class'      : 'UnicaenAuth\Entity\Db\Role'
                 * - 'privilege_entity_class' : 'UnicaenAuth\Entity\Db\Privilege'
                 */
                'role_entity_class'      => 'UnicaenAuth\Entity\Db\Role',
                'privilege_entity_class' => 'UnicaenAuth\Entity\Db\Privilege',
            ],
    
            'bjyauthorize' => [
    
                'resource_providers' => [
                    /**
                     * Le service Privilèges peut aussi être une source de ressources,
                     * si on souhaite tester directement l'accès à un privilège
                     */
                    'UnicaenAuth\Service\Privilege' => [],
                ],
    
                'rule_providers'     => [
                    'UnicaenAuth\Provider\Rule\PrivilegeRuleProvider' => [],
                ],
    
                'guards' => [
                    'UnicaenAuth\Guard\PrivilegeController' => [
                        [
                            'controller' => 'UnicaenAuth\Controller\Droits',
                            'action'     => ['index'],
                            'privileges' => [
                                \UnicaenAuth\Provider\Privilege\Privileges::DROIT_ROLE_VISUALISATION,
                                \UnicaenAuth\Provider\Privilege\Privileges::DROIT_PRIVILEGE_VISUALISATION,
                            ],
                        ],
                        [
                            'controller' => 'UnicaenAuth\Controller\Droits',
                            'action'     => ['roles'],
                            'privileges' => [\UnicaenAuth\Provider\Privilege\Privileges::DROIT_ROLE_VISUALISATION],
                        ],
                        [
                            'controller' => 'UnicaenAuth\Controller\Droits',
                            'action'     => ['privileges'],
                            'privileges' => [\UnicaenAuth\Provider\Privilege\Privileges::DROIT_PRIVILEGE_VISUALISATION],
                        ],
                        [
                            'controller' => 'UnicaenAuth\Controller\Droits',
                            'action'     => ['role-edition', 'role-suppression'],
                            'privileges' => [\UnicaenAuth\Provider\Privilege\Privileges::DROIT_ROLE_EDITION],
                        ],
                        [
                            'controller' => 'UnicaenAuth\Controller\Droits',
                            'action'     => ['privileges-modifier'],
                            'privileges' => [\UnicaenAuth\Provider\Privilege\Privileges::DROIT_PRIVILEGE_EDITION],
                        ],
                    ],
                ],
            ],
            'navigation'   => [
                // The DefaultNavigationFactory we configured uses 'default' as the sitemap key
                'default' => [
                    // And finally, here is where we define our page hierarchy
                    'home' => [
                        'pages' => [
                            'droits' => [
                                'label'    => 'Droits d\'accès',
                                'title'    => 'Gestion des droits d\'accès',
                                'route'    => 'droits',
                                'resource' => \UnicaenAuth\Guard\PrivilegeController::getResourceId('UnicaenAuth\Controller\Droits', 'index'),
                                'pages'    => [
                                    'roles'      => [
                                        'label'      => "Rôles",
                                        'title'      => "Gestion des rôles",
                                        'route'      => 'droits/roles',
                                        'resource'   => \UnicaenAuth\Guard\PrivilegeController::getResourceId('UnicaenAuth\Controller\Droits', 'roles'),
                                        'withtarget' => true,
                                    ],
                                    'privileges' => [
                                        'label'      => "Privilèges",
                                        'title'      => "Gestion des privilèges",
                                        'route'      => 'droits/privileges',
                                        'resource'   => \UnicaenAuth\Guard\PrivilegeController::getResourceId('UnicaenAuth\Controller\Droits', 'privileges'),
                                        'withtarget' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
        ];
    } else {
        $privileges = [];
    }
    
    return array_merge_recursive($config, $privileges);