Commit e6cae794d7d7e063afdad1ed4b08f7bdae5572d5
1 parent
83926464
Exists in
master
and in
3 other branches
Renommage plus explicite des fonctions et variables
Showing
3 changed files
with
26 additions
and
20 deletions
Show diff stats
README-LABINVENT.md
... | ... | @@ -47,8 +47,8 @@ Logiciel testé et validé sur les configurations suivantes : |
47 | 47 | |
48 | 48 | VERSION ACTUELLE |
49 | 49 | |
50 | -Date: 29/08/2017 | |
51 | -Version: 2.7.8 | |
50 | +Date: 30/08/2017 | |
51 | +Version: 2.7.9 | |
52 | 52 | - Bugfix important sur détection du role "Utilisateur" pour les personnes du ldap qui ne sont pas dans la table utilisateurs !!! |
53 | 53 | - Creation d'un fake utilisateur pour simuler un utilisateur qui n'est pas dans la table utilisateurs (et tester le cas ci-dessus) |
54 | 54 | - Ajout de tests avec cet utilisateur |
... | ... | @@ -67,8 +67,13 @@ CHANGEMENTS IMPORTANTS (MILESTONES) |
67 | 67 | |
68 | 68 | Liste complète des évolutions: https://gitlab.irap.omp.eu/epallier/labinvent/commits/master |
69 | 69 | |
70 | +30/08/2017 Version: 2.7.9 | |
71 | + - fonction intelligente AppController::getUserRole() qui donne le role "Utilisateur" par défaut pour un utilisateur non privilégié | |
72 | + - Refactorisation des ACL (authorizations) dans isAuthorized() et beforeFilter() | |
73 | + | |
70 | 74 | 28/08/2017 Version: 2.7.6 |
71 | 75 | - renforcement important des TESTS : généralisation, refactorisation, simplification + numérotation systématique (cf doc ACL) |
76 | + - nouvelle classe General dont héritent tous les tests | |
72 | 77 | - nouvelle philo mise en place : 1 fichier tests par Controleur (c'était déjà le cas), puis pour un controleur donné, tri des tests par ACTION, puis pour chaque action, tests systématique de tous les ROLES (profils) avec les cas particuliers de chacun |
73 | 78 | |
74 | 79 | 06/07/2017 Version: 2.7.3 | ... | ... |
src/Controller/AppController.php
... | ... | @@ -49,9 +49,11 @@ class AppController extends Controller { |
49 | 49 | 'Super Administrateur' => self::PROFILE_SUPERADMIN |
50 | 50 | ]; |
51 | 51 | |
52 | - // Current role (profile) of the user | |
53 | - private $CURRENT_USER = null; | |
54 | - //private $CURRENT_ROLE = null; | |
52 | + // Current priviledged USER (if so, otherwise = NULL) | |
53 | + private $CURRENT_PRIVILEDGED_USER = null; | |
54 | + | |
55 | + // Current ROLE (by default = "Utilisateur") | |
56 | + private $CURRENT_ROLE = null; | |
55 | 57 | |
56 | 58 | |
57 | 59 | public static function getRoleLevel($role) { |
... | ... | @@ -163,9 +165,8 @@ class AppController extends Controller { |
163 | 165 | return false; |
164 | 166 | } |
165 | 167 | |
166 | - //public function getUser($user=null) { return $this->getTablePriviledgedUserFromCurrentSessionUser($user); } | |
167 | - public function getTablePriviledgedUserFromCurrentSessionUser($user=null) { | |
168 | - if (! $this->CURRENT_USER) { | |
168 | + public function getTablePriviledgedUserFromCurrentSessionUserIfExists($user=null) { | |
169 | + if (! $this->CURRENT_PRIVILEDGED_USER) { | |
169 | 170 | $configuration = $this->confLabinvent; |
170 | 171 | $username = $user ? $user[$configuration->authentificationType_ldap][0] : $this->LdapAuth->user($configuration->authentificationType_ldap)[0]; |
171 | 172 | $priviledgedUser = TableRegistry::get('Users') |
... | ... | @@ -174,18 +175,17 @@ class AppController extends Controller { |
174 | 175 | //->where(['username' => $this->LdapAuth->user('cn')[0]]) |
175 | 176 | ->first(); |
176 | 177 | //if (! $priviledgedUser) $priviledgedUser = "Unpriviledged User (not in table utilisateurs)"; |
177 | - $this->CURRENT_USER = $priviledgedUser; | |
178 | + $this->CURRENT_PRIVILEDGED_USER = $priviledgedUser; | |
178 | 179 | } |
179 | - return $this->CURRENT_USER; | |
180 | + return $this->CURRENT_PRIVILEDGED_USER; | |
180 | 181 | } |
181 | 182 | public function getUserRole($user=null) { |
182 | - $priviledgedUser = $this->getPriviledgedUserRole($user); | |
183 | - // default role is "Utilisateur" (for people who are not in the table utilisateurs) | |
184 | - if (! $priviledgedUser) return 'Utilisateur'; | |
185 | - return $priviledgedUser['role']; | |
186 | - } | |
187 | - public function getPriviledgedUserRole($user=null) { | |
188 | - return $this->getTablePriviledgedUserFromCurrentSessionUser($user); | |
183 | + if (! $this->CURRENT_ROLE) { | |
184 | + $priviledgedUser = $this->getTablePriviledgedUserFromCurrentSessionUserIfExists($user); | |
185 | + // default role is "Utilisateur" (for people who are not in the table utilisateurs) | |
186 | + $this->CURRENT_ROLE = ($priviledgedUser) ? $priviledgedUser['role'] : 'Utilisateur'; | |
187 | + } | |
188 | + return $this->CURRENT_ROLE; | |
189 | 189 | } |
190 | 190 | |
191 | 191 | private function userHasRole($expectedRole, $ORMORE=false) { |
... | ... | @@ -292,8 +292,9 @@ class AppController extends Controller { |
292 | 292 | $this->set('configuration', $configuration); |
293 | 293 | $this->request->session()->write("authType", $configuration->authentificationType_ldap); |
294 | 294 | |
295 | - //$user = $this->getUser(); | |
296 | - $priviledgedUser = $this->getTablePriviledgedUserFromCurrentSessionUser(); | |
295 | + // ATTENTION, $priviledgedUser = NULL si l'utilisateur courant n'est pas un utilisateur privilégié | |
296 | + // (c'est à dire s'il n'est pas dans la table "utilisateurs") | |
297 | + $priviledgedUser = $this->getTablePriviledgedUserFromCurrentSessionUserIfExists(); | |
297 | 298 | /* |
298 | 299 | $user = TableRegistry::get('Users')->find() |
299 | 300 | ->where(['username' => $this->LdapAuth->user($configuration->authentificationType_ldap)[0]]) | ... | ... |
src/Template/Layout/default.ctp
... | ... | @@ -115,7 +115,7 @@ $cakeDescription = 'Labinvent 2'; |
115 | 115 | </i></td> |
116 | 116 | <td id="version"> |
117 | 117 | <!-- VERSION M.m.f.b (version (M)ajeure, version (m)ineure, numero de nouvelle (f)onctionnalite, numero de (b)ugfix) --> |
118 | - <font color="black">VERSION 2.7.8 (29/08/2017)</font> | |
118 | + <font color="black">VERSION 2.7.9 (30/08/2017)</font> | |
119 | 119 | <br/> |
120 | 120 | <font color="black"><a href="<?php |
121 | 121 | ... | ... |