Project

General

Profile

0008-manager-handle-authentication-level-transition.patch

Valentin Deniaud, 04 April 2019 05:07 PM

Download (1.8 KB)

View differences:

Subject: [PATCH 08/13] manager: handle authentication level transition
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Et hop, 0 code en plus et 0 modifs dans la vue, je suis plutôt content
de cette solution.
Par contre pour l'instant on ignore un problème potentiel : il y a des
checks de type user.has_perm dans des templates (par ex dans tables.py),
et comme elles sont rendered dans un autre thread, l'exception ne
remontera pas jusqu'à notre décorateur et ça va planter. Du coup il
faudrait s'assurer que ça ne peut jamais arriver (que chaque has_perm au
niveau template est protégé par un has_perm dans la vue), et sinon rajouter
du code qui rattrape les exceptions en affichant un bouton "cliquer ici
pour la montée d'auth".
 src/authentic2/manager/urls.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
src/authentic2/manager/urls.py
from django.contrib.auth.decorators import login_required
from django.utils.functional import lazy
from . import views, role_views, ou_views, user_views, service_views
from ..decorators import required
from authentic2.decorators import required, check_auth_level
from authentic2 import utils
......
urlpatterns = required(
manager_login_required, [
(manager_login_required, check_auth_level), [
# homepage
url(r'^$', views.homepage, name='a2-manager-homepage'),