diff --git a/interludes/cas_model.py b/interludes/cas_model.py
new file mode 100644
index 0000000000000000000000000000000000000000..c86090eb033b395d1ad08031300523cf2fca7001
--- /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 7a6ab3e2891e06043d8fec5f509caa2da5b68b44..a27598f774bae91a3f9b2ddeddc8c2f7e925967c 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 0a9aeb4dcc5697d1db2ac3d746805bc32990b276..8654d9ffa944cc7960b9c1dd0c54649670ce2562 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