Merge branch 'Elarnon/normalize-login' into 'master'

Normalise les logins clipper venant du CAS

Le CAS de l'ENS autorise les logins avec des espaces/une casse variable, par
exemple il considere equivalents les logins ' bCLeMeNt    ' et 'bclement'. Ceci
peut etre la cause de creation de doublons sur gestioCOF en cas de faute de
frappe (ou utilisateur malicieux ;-) )

Ce patch normalise les logins a la sortie du CAS (strip + lowercase) pour
eviter des desagrements.

See merge request !105
This commit is contained in:
Martin Pepin 2016-11-05 21:11:02 +01:00
commit 36e403bab3

View file

@ -29,6 +29,12 @@ class COFCASBackend(CASBackend):
request.session['attributes'] = attributes
if not username:
return None
# Le CAS de l'ENS accepte les logins avec des espaces au début
# et à la fin, ainsi quavec une casse variable. On normalise pour
# éviter les doublons.
username = username.strip().lower()
profiles = CofProfile.objects.filter(login_clipper=username)
if len(profiles) > 0:
profile = profiles.order_by('-is_cof')[0]