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 2a50088e1bedf0452f54f211dea11788aeaed667..a254e6c2a7a1520a0b1f43b358f4d386612567b5 100644
--- a/interludes/urls.py
+++ b/interludes/urls.py
@@ -22,4 +22,5 @@ from django.conf.urls.static import static
 urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + [
         path('admin/', admin.site.urls),
         path('', include('home.urls')),
+        path('cas/', include('cas_server.urls', namespace="cas_server")),
     ]