unicaen-auth.global.php 5.76 KB
Newer Older
lecluse's avatar
lecluse committed
1
<?php
2

3
$settings = [
lecluse's avatar
lecluse committed
4
5
6
7
    /**
     * 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.
     */
lecluse's avatar
lecluse committed
8
    'save_ldap_user_in_database' => true,
lecluse's avatar
lecluse committed
9
10
11
12
13
    /**
     * Enable registration
     * Allows users to register through the website.
     * Accepted values: boolean true or false
     */
14
    'enable_registration'        => false,
15

16
    'enable_privileges' => true,
17
18

    'entity_manager_name' => 'doctrine.entitymanager.orm_default', // nom du gestionnaire d'entités à utiliser
19

20
21
22
23
24
25
26
27
28
29
30
31
    /**
     * 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',

Laurent Lécluse's avatar
#14366    
Laurent Lécluse committed
32
33
34
35
36
    /**
     * Attribut LDAP utilisé pour le username des utilisateurs
     */
    'ldap_username' => strtolower(AppConfig::get('ldap', 'loginAttribute')),

37
38
39
40
41
42
    /**
     * Activation ou non de l'authentification Shibboleth.
     */
    'shibboleth' => [
        'enable' => false,
    ],
43
];
lecluse's avatar
lecluse committed
44

45
if (AppConfig::get('cas', 'actif')) {
46
    $settings['cas']['connection']['default']['params'] = [
47
48
49
50
51
        'hostname' => AppConfig::get('cas', 'host'),
        'port'     => AppConfig::get('cas', 'port'),
        'version'  => AppConfig::get('cas', 'version'),
        'uri'      => AppConfig::get('cas', 'uri'),
        'debug'    => AppConfig::get('cas', 'debug'),
52
53
54
    ];
}

55
$localConfig = [
lecluse's avatar
lecluse committed
56
    'unicaen-auth' => $settings,
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
    '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' => [],
        ],
    ],
86
    'zfcuser'      => [
87
        $k = 'enable_registration' => isset($settings[$k]) ? $settings[$k] : false,
88
    ],
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
];

if ($settings['enable_privileges']) {
    $privileges = [
        '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],
                    ],
                ],
            ],
        ],
    ];
} else {
    $privileges = [];
}

145
return array_merge_recursive($localConfig, $privileges);