Commit graph

10 commits

Author SHA1 Message Date
Aurélien Delobelle
bf61e41b50 Move auth-related from 'kfet' app to 'kfet.auth'. 2017-09-19 17:05:51 +02:00
Aurélien Delobelle
b0e7ebfbc5 fix typo + pep8 + del future imports 2017-05-10 12:49:14 +02:00
Aurélien Delobelle
709d421b2c Add custom Manager for Account model.
- When Account model is queried with Account.objects, it always add
  .select_related('cofprofile_user', 'negative').
- Eg benefits: history doesn't do anymore one request by account to
  fill the account filter.

Important

Using this workaround (systemically append select_related) can be
dangerous normally, however a certain number of properties in
cofprofile and user are frequently used (as firstname or lastname), and
the benefits seems greater.
2017-04-06 18:23:27 +02:00
Aurélien Delobelle
f39e1a653e Ajout account pour compte générique
Lors de la connexion avec l'utilisateur kfet standard, un Account avec le
trigramme GNR est créé pour cet utilisateur

+ Clean et comment
2016-09-29 21:36:17 +02:00
Aurélien Delobelle
5569b7d154 Fix encodage password 2016-09-06 15:30:51 +02:00
Aurélien Delobelle
d12dfe2f56 Passage de sha1 à sha256 pour le pwd sur Account 2016-09-03 02:54:02 +02:00
Aurélien Delobelle
ba0a5d0d27 Py2 compatible 2016-09-01 00:45:44 +02:00
Aurélien Delobelle
8507072c8f Auth spéciale
- Le backend d'auth K-Fêt est étendu pour aussi identifier une personne
  dans le cas dans d'un formulaire en récupérant le password contenu
  dans l'input de nom `KFETPASSWORD`
- Le middleware d'auth K-Fêt enregistre l'utilisateur connecté de
  manière normale dans `request.real_user`
- Ajout d'un processeurs de contextes `kfet.context_processors.auth` qui
  qui remplace `user` et `perms` par l'utilisateur connecté de manière
  normale (`request.real_user`) et non celui connecté temporairement
- Modification de la vue de modif d'un compte pour s'adapter à l'auth
- Modification du template de modification d'un compte pour utiliser ce
  moyen d'authentification
- Séparation du JS conservant le côté gauche d'une page à l'écran
- Séparation de l'encart gauche contenant les infos d'un comtpe dans un
  autre template (`left_account`) pour l'utiliser dans `account_read` et `account_update`
- `base_nav` utilise user (qui est donc le vrai utilisateur connecté) au
  lieu de `request.user` qui peut aussi bien être le vrai utilisateur
qu'un utilisateur temporaire
2016-08-20 23:31:30 +02:00
Aurélien Delobelle
6ec42edd60 Authentification utilisateur standard équipe
- Un utilisateur ayant la perm `kfet.is_team` peut se déconnecter et
  connecter à la place un utilisateur `kfet_genericteam` ne disposant
  que de la permission `kfet.is_team`
- Backend et vue associée à cette connexion créés
2016-08-20 19:35:45 +02:00
Aurélien Delobelle
3e96932a5b Authentification K-Psul
Si une (des) permission(s) sont nécessaires pour enregistrer/annuler des
opérations, une demande d'authentification apparaît où l'utilisateur
doit mettre le mot de passe d'un compte ayant la (les) permission(s)
requise(s).

Ce mot de passe est envoyé dans la requête AJAX via le header
`KFetPassword`.
Le middleware `KFetAuthenticationPassword` est appelée à chaque requête.
Il appelle lui même le backend `KFetBackend` qui est chargé de
retrouver le user dont le compte K-Fêt correspond au mot de passe défini
dans le header `KFETPASSWORD`.
Si le header n'est pas présent ou
qu'aucun utilisateur ne correspond à ce mot de passe, le middleware ne
fait... rien !
Dans le cas où un user est trouvé, il est "chargé" dans
`request.user` permettant ainsi de connecter l'utilisateur pour ce cycle
requête/réponse sans déconnecter l'utilisateur connecté de manière
normale.
2016-08-19 06:20:37 +02:00