Bug #9527
MandayeJS : L'utilisateur ne devrait pas etre associé juste par soumission du formulaire
0%
Description
- Par défaut linked = False
- Utiliser un ModelForm
- Setter linked = True seulement si l'authentication PhantomJS OK
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- si login réussi retour vers /Default.aspx
- sinon marquer l'association comme invalide (linked=False, ou alors suppression de l'association) puis retour vers Connect.aspx (et pas associate)
On affiche associate que sur demande explicite de l'utilisateur.
Les URLs /Default.aspx et /Connect.aspx doivent faire partie de la configuration pour Duonet (genre LOGIN_SUCESS_URL et LOGIN_FAILURE_URL).
Mis à jour par Josué Kouka il y a plus de 8 ans
- Fichier 0001-handle-user-association-the-right-way-9527.patch 0001-handle-user-association-the-right-way-9527.patch ajouté
- Patch proposed changé de Non à Oui
Ce patch ne fixe que la partie association/authentication . Concernant la detection de l'association et de la connexion a la GRC je vais le faire dans un autre ticket, vu que Victor veut avoir une recette au plus vite. Ce patch est disponible sur la dev conservatoire-vincennes.dev.entrouvert.org/
/etc/hosts
176.31.146.92 conservatoire-vincennes.dev.entrouvert.org
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
La surcharge de is_valid est inutile, un formulaire vide non soumis (self.data is None) ou vide (self.data == {}) ne peut-être valide, sauf si aucun des champs n'est requis.
Mis à jour par Josué Kouka il y a plus de 8 ans
- Fichier 0001-handle-user-association-the-right-way-9527.patch 0001-handle-user-association-the-right-way-9527.patch ajouté
scorie
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
Pour être plus Django je copierai form.cleaned_data dans user_credentials.locators plutôt que request.POST.
Pour éviter les doublons je mettrai un index unique (unique=True
) sur la FK user du modèle UserCredential, sans index get_or_create()
peut produire des doublons.
auto_id=True
est inutile, c'est la valeur par défaut.
Ce code ne sert à rien, autant utiliser directement request.user, de plus comme tu n'utilises pas de custom user model, tu n'as pas à utiliser get_user_model, tu peux directement importer django.contrib.auth.models.User
.
User = get_user_model() user = User.objects.get(username=request.user.username)
Je mettrai un try/except DoesNotExist autour du user.user_credentials.get() au cas où, et je ferai un delete() sur l'objet UserCredentials plutôt qu'un simple update du champ linked
pour des raisons CNIL, c'est déjà pas bien terrible de conserver les mots de passe en clair, quand on dissocie il faut les supprimer complètement, tu peux aussi ne faire qu'un simple .locators = {}
.
Mis à jour par Josué Kouka il y a plus de 8 ans
- Fichier 0001-handle-user-association-the-right-way-9527.patch 0001-handle-user-association-the-right-way-9527.patch ajouté
Pour éviter les doublons je mettrai un index unique (unique=True) sur la FK user du modèle UserCredential, sans index get_or_create() peut produire des doublons
Je l'ai fait (différement pour une raison dont je ne rapelle malheureusement plus) http://repos.entrouvert.org/mandayejs.git/tree/mandayejs/mandaye/models.py#n29
Mis à jour par Josué Kouka il y a plus de 8 ans
- Fichier 0001-handle-user-association-the-right-way-9527.patch 0001-handle-user-association-the-right-way-9527.patch ajouté
scorie
Mis à jour par Benjamin Dauvergne il y a environ 8 ans
- Statut changé de Résolu (à déployer) à Fermé
handle user association the right way (#9527)