Development #23272
Development #21489: Fonctionner avec Django 1.11 (et 1.8)
CustomUser.is_anonymous() et is_authenticated() empêchent l'exécution des mgmt commands sous django 1.11
100%
Description
Malgré une précédente discussion qui avait conclut à ne pas toucher à ces méthodes, je remets la discussion sur le tapis parce que le system-check est CRITICAL sous Django 1.11 :
- reproduire avec django 1.11 et la branche authentic wip/django111
> authentic-multitenant-manage migrate_schemas SystemCheckError: System check identified some issues: CRITICALS: custom_user.User: (auth.C009) <class 'authentic2.custom_user.models.User'>.is_anonymous must be an attribute or property rather than a method. Ignoring this is a security issue as anonymous users will be treated as authenticated! custom_user.User: (auth.C010) <class 'authentic2.custom_user.models.User'>.is_authenticated must be an attribute or property rather than a method. Ignoring this is a security issue as anonymous users will be treated as authenticated!
If the level is greater or equal to ERROR, then Django will prevent management commands from executing.
Fichiers
Révisions associées
Historique
Mis à jour par Anonyme il y a environ 6 ans
Solution possible mais risquée pour les futures mise à jour (2.0):
- ajouter settings.SILENCED_SYSTEM_CHECKS: https://docs.djangoproject.com/en/1.8/ref/settings/#std:setting-SILENCED_SYSTEM_CHECKS
Mis à jour par Anonyme il y a environ 6 ans
- Statut changé de Nouveau à En cours
- Assigné à mis à Anonyme
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
- Fichier 0001-custom_user-remove-base_user-fixes-23272.patch 0001-custom_user-remove-base_user-fixes-23272.patch ajouté
- Patch proposed changé de Non à Oui
J'ai retiré authentic2.custom_user.base_user ça devrait rendre le code compatible avec toutes les versions.
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
- Assigné à changé de Anonyme à Benjamin Dauvergne
Mis à jour par Anonyme il y a environ 6 ans
intégré à la branche wip/django111 à la demande de Benjamin, merci
Mis à jour par Benjamin Dauvergne il y a presque 6 ans
- Statut changé de En cours à Fermé
Ok je ferme celui-ci.
Mis à jour par Emmanuel Cazenave il y a presque 6 ans
- Statut changé de Fermé à En cours
Je retombe sur ce problème. J'aimerais bien ça dans master, en mode "road to 1.11".
Mis à jour par Benjamin Dauvergne il y a presque 6 ans
- Statut changé de En cours à Solution validée
Ok pour moi, repasse un coup de tests et pousse.
Mis à jour par Emmanuel Cazenave il y a presque 6 ans
- Assigné à changé de Benjamin Dauvergne à Emmanuel Cazenave
Mis à jour par Emmanuel Cazenave il y a plus de 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
Testé, poussé.
commit eeb93e79d3c01303281e6a7347e06cbac0923e62 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Thu Apr 19 12:04:25 2018 +0200 custom_user: remove base_user (fixes #23272)
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- % réalisé changé de 0 à 100
Appliqué par commit authentic2|eeb93e79d3c01303281e6a7347e06cbac0923e62.
Mis à jour par Emmanuel Cazenave il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
Je ne ré-ouvre pas le ticket mais on a foison de warnings à cause de la déprécation par les consommateurs (notamment l'admin et divers décorateurs) de .is_authenticated et .is_anonymous sous form de fonctions :/ Il faudra désactiver le warning en question, il nous sautera aux yeux de toute façon lors de la migration vers Django 2.0.
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Statut changé de Solution déployée à Fermé
custom_user: remove base_user (fixes #23272)