forked from DGNum/gestioCOF
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
This commit is contained in:
parent
ddc81540c7
commit
6ec42edd60
7 changed files with 69 additions and 2 deletions
|
@ -1,6 +1,8 @@
|
|||
import hashlib
|
||||
|
||||
from kfet.models import Account
|
||||
from django.contrib.auth.models import User, Permission
|
||||
from gestioncof.models import CofProfile
|
||||
from kfet.models import Account, GenericTeamToken
|
||||
|
||||
class KFetBackend(object):
|
||||
def authenticate(self, request):
|
||||
|
@ -16,3 +18,19 @@ class KFetBackend(object):
|
|||
return None
|
||||
|
||||
return user
|
||||
|
||||
class GenericTeamBackend(object):
|
||||
def authenticate(self, username=None, token=None):
|
||||
valid_token = GenericTeamToken.objects.get(token=token)
|
||||
if username == 'kfet_genericteam' and valid_token:
|
||||
user, created = User.objects.get_or_create(username='kfet_genericteam')
|
||||
perm_is_team = Permission.objects.get(codename='is_team')
|
||||
user.user_permissions.add(perm_is_team)
|
||||
return user
|
||||
return None
|
||||
|
||||
def get_user(self, user_id):
|
||||
try:
|
||||
return User.objects.get(pk=user_id)
|
||||
except User.DoesNotExist:
|
||||
return None
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue