Add a capture_login_admin view #10

Closed
tbastian wants to merge 2 commits from tobast-capture-admin into master
tbastian commented 2018-05-10 11:51:14 +02:00 (Migrated from git.eleves.ens.fr)

This fixes a redirection loop causing an authenticated user which is
not staff accessing /admin to be loop-redirected between
/admin -> /admin/login -> /accounts/login

Also include some hideous basic page to show a message. This should not
be a problem; a non-admin user accessing /admin deserves hurting their
eyes.

Please also increase the version number and publish to pypi at some point :)

This fixes a redirection loop causing an authenticated user which is *not* staff accessing /admin to be loop-redirected between /admin -> /admin/login -> /accounts/login Also include some hideous basic page to show a message. This should not be a problem; a non-admin user accessing /admin deserves hurting their eyes. Please also increase the version number and publish to pypi at some point :)
delobell commented 2018-05-14 15:41:21 +02:00 (Migrated from git.eleves.ens.fr)

Je suis pas sûr de voir la nécessité. Après les 2 redirections, l'utilisateur arrive sur /accounts/login et a déjà le droit à un petit message en principe ("vous êtes pas assez cool, connectez avec un compte plus cool").

Je suis pas sûr de voir la nécessité. Après les 2 redirections, l'utilisateur arrive sur `/accounts/login` et a déjà le droit à un petit message en principe ("vous êtes pas assez cool, connectez avec un compte plus cool").
tbastian commented 2018-05-14 16:17:05 +02:00 (Migrated from git.eleves.ens.fr)

Non, justement, c'est bien le problème :) il arrive sur /accounts/login, qui détecte que l'utilisateur est connecté (en tout cas chez moi ça fait ça), donc renvoie de suite sur le ?next=, à savoir /admin, et ça reboucle.

Non, justement, c'est bien le problème :) il arrive sur `/accounts/login`, qui détecte que l'utilisateur est connecté (en tout cas chez moi ça fait ça), donc renvoie de suite sur le `?next=`, à savoir `/admin`, et ça reboucle.
delobell commented 2018-05-14 17:22:26 +02:00 (Migrated from git.eleves.ens.fr)

Je pense que tu cherches ça, dans la config d'allauth :

ACCOUNT_AUTHENTICATED_LOGIN_REDIRECTS (=True)

The default behaviour is to redirect authenticated users to LOGIN_REDIRECT_URL when they try accessing login/signup pages.

By changing this setting to False, logged in users will not be redirected when they access login/signup pages.

Je pense que tu cherches ça, dans la [config d'allauth](https://django-allauth.readthedocs.io/en/latest/configuration.html) : >>> ACCOUNT_AUTHENTICATED_LOGIN_REDIRECTS (=True) The default behaviour is to redirect authenticated users to LOGIN_REDIRECT_URL when they try accessing login/signup pages. By changing this setting to False, logged in users will not be redirected when they access login/signup pages. >>>
tbastian commented 2018-05-14 18:26:35 +02:00 (Migrated from git.eleves.ens.fr)

Oui, mais en temps normal c'est bien ce que je veux :) Par contre, dans le cas où l'utilisateur est connecté, mais n'a pas la permission, j'aimerais bien que ça ne redirige pas.

Cela dit je reconnais que ce que j'ai fait est ultra-hackish, si tu as mieux à proposer je prends carrément.

Oui, mais en temps normal c'est bien ce que je veux :) Par contre, dans le cas où l'utilisateur est connecté, mais n'a pas la permission, j'aimerais bien que ça ne redirige pas. Cela dit je reconnais que ce que j'ai fait est ultra-hackish, si tu as mieux à proposer je prends carrément.
delobell commented 2018-05-16 17:47:36 +02:00 (Migrated from git.eleves.ens.fr)

À vrai dire je trouve la valeur par défaut de ce paramètre assez étrange parce que ça entre en contradiction avec le fait que Django (contrib.auth) s'attende à pouvoir rediriger un utilisateur vers la page de connexion si celui-ci n'a pas les permissions suffisantes (décorateurs/mixins staff_required, user_passes_test, etc).

Pour tout nouveau projet, je préconise de placer ce paramètre à False. On pourrait ajouter ça à la doc.

Si t'as vraiment besoin de la redirection auto, je suis d'avis de te laisser faire ça dans ton projet seulement.

À vrai dire je trouve la valeur par défaut de ce paramètre assez étrange parce que ça entre en contradiction avec le fait que Django (`contrib.auth`) s'attende à pouvoir rediriger un utilisateur vers la page de connexion si celui-ci n'a pas les permissions suffisantes (décorateurs/mixins `staff_required`, `user_passes_test`, etc). Pour tout nouveau projet, je préconise de placer ce paramètre à `False`. On pourrait ajouter ça à la doc. Si t'as vraiment besoin de la redirection auto, je suis d'avis de te laisser faire ça dans ton projet seulement.
tbastian commented 2018-05-16 17:50:03 +02:00 (Migrated from git.eleves.ens.fr)

Ça me semble legit, en effet. Tu peux fermer si tu veux :)

Ça me semble legit, en effet. Tu peux fermer si tu veux :)
delobell commented 2018-05-17 11:34:18 +02:00 (Migrated from git.eleves.ens.fr)

closed

closed

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: DGNum/django-allauth-ens#10
No description provided.