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.
This commit is contained in:
parent
388f42b05f
commit
9846ed201b
1 changed files with 6 additions and 0 deletions
|
@ -29,6 +29,12 @@ class COFCASBackend(CASBackend):
|
||||||
request.session['attributes'] = attributes
|
request.session['attributes'] = attributes
|
||||||
if not username:
|
if not username:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
# Le CAS de l'ENS accepte les logins avec des espaces au début
|
||||||
|
# et à la fin, ainsi qu’avec une casse variable. On normalise pour
|
||||||
|
# éviter les doublons.
|
||||||
|
username = username.strip().lower()
|
||||||
|
|
||||||
profiles = CofProfile.objects.filter(login_clipper=username)
|
profiles = CofProfile.objects.filter(login_clipper=username)
|
||||||
if len(profiles) > 0:
|
if len(profiles) > 0:
|
||||||
profile = profiles.order_by('-is_cof')[0]
|
profile = profiles.order_by('-is_cof')[0]
|
||||||
|
|
Loading…
Reference in a new issue