From aa47a5b620d6e12fe5cf8f1cc59c99097b3c6324 Mon Sep 17 00:00:00 2001 From: Guilhem Niot <guilhem@gniot.fr> Date: Wed, 23 Mar 2022 23:31:29 +0100 Subject: [PATCH] Expose CAS server --- interludes/cas_model.py | 15 +++++++++++++++ interludes/settings.py | 5 +++++ interludes/urls.py | 3 ++- 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 interludes/cas_model.py diff --git a/interludes/cas_model.py b/interludes/cas_model.py new file mode 100644 index 0000000..c86090e --- /dev/null +++ b/interludes/cas_model.py @@ -0,0 +1,15 @@ +from django.contrib.auth import get_user_model +from cas_server.auth import AuthUser, DjangoAuthUser + +class InterLudesAuthUser(DjangoAuthUser): # pragma: no cover + """ + Overrides DjangoAuthUser constructor + """ + + def __init__(self, username): + User = get_user_model() + try: + self.user = User.objects.get(email=username) + except User.DoesNotExist: + pass + super(DjangoAuthUser, self).__init__(username) \ No newline at end of file diff --git a/interludes/settings.py b/interludes/settings.py index 7a6ab3e..a27598f 100644 --- a/interludes/settings.py +++ b/interludes/settings.py @@ -90,6 +90,7 @@ INSTALLED_APPS = [ 'accounts.apps.AccountsConfig', 'site_settings.apps.SiteSettingsConfig', 'shared.apps.SharedConfig', + 'cas_server', ] MIDDLEWARE = [ @@ -190,3 +191,7 @@ EMAIL_SIGNATURE = '-- Site Interludes (mail généré automatiquement)' # Prefix to mails to users USER_EMAIL_SUBJECT_PREFIX = "[interludes] " + + +# CAS SERVER +CAS_AUTH_CLASS = "interludes.cas_model.InterLudesAuthUser" \ No newline at end of file diff --git a/interludes/urls.py b/interludes/urls.py index 0a9aeb4..8654d9f 100644 --- a/interludes/urls.py +++ b/interludes/urls.py @@ -19,4 +19,5 @@ from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('home.urls')), -] + path('cas/', include('cas_server.urls', namespace="cas_server")), +] \ No newline at end of file -- GitLab