Rajoute la possibilité d'autoriser l'accès aux membres de staffs, avec une promotion valant 0

This commit is contained in:
Tom Hubrecht 2021-05-23 13:11:17 +02:00
parent 8492d95040
commit f362bb1a60
3 changed files with 15 additions and 1 deletions

View file

@ -1,4 +1,5 @@
LDAP_SERVER_URL = "ldaps://ldap.spi.ens.fr:636" LDAP_SERVER_URL = "ldaps://ldap.spi.ens.fr:636"
AUTHENS_USE_OLDCAS = True AUTHENS_USE_OLDCAS = True
AUTHENS_USE_PASSWORD = True AUTHENS_USE_PASSWORD = True
AUTHENS_ALLOW_STAFF = False
# TODO: CAS_SERVER_URL # TODO: CAS_SERVER_URL

View file

@ -3,6 +3,10 @@ from urllib.parse import urlunparse
from cas import CASClient from cas import CASClient
from django.conf import settings
from authens import conf as default_conf
def get_cas_client(request): def get_cas_client(request):
"""Return a CAS client configured for SPI's CAS.""" """Return a CAS client configured for SPI's CAS."""
@ -26,6 +30,15 @@ def parse_entrance_year(home_dir):
return None return None
dirs = home_dir.split("/") dirs = home_dir.split("/")
allow_staff = getattr(
settings, "AUTHENS_ALLOW_STAFF", default_conf.AUTHENS_ALLOW_STAFF
)
# The staff members have an entrance year set to 0
if allow_staff and dirs[:3] == ["", "users", "staffs"]:
return 0
if len(dirs) < 3 or not dirs[2].isdecimal() or dirs[1] != "users": if len(dirs) < 3 or not dirs[2].isdecimal() or dirs[1] != "users":
raise ValueError("Invalid home directory: {}".format(home_dir)) raise ValueError("Invalid home directory: {}".format(home_dir))

View file

@ -10,7 +10,7 @@ ignore =
W503 W503
[isort] [isort]
profile=black profile = black
known_django = django known_django = django
known_first_party = authens,tests known_first_party = authens,tests
sections = FUTURE,STDLIB,THIRDPARTY,DJANGO,FIRSTPARTY,LOCALFOLDER sections = FUTURE,STDLIB,THIRDPARTY,DJANGO,FIRSTPARTY,LOCALFOLDER