diff --git a/apps/member/auth.py b/apps/member/auth.py
new file mode 100644
index 0000000000000000000000000000000000000000..0f9e42e81549d89c4572e6cdcb34d7ea1c389cb9
--- /dev/null
+++ b/apps/member/auth.py
@@ -0,0 +1,15 @@
+from cas_server.auth import DjangoAuthUser  # pragma: no cover
+
+from note.models import Alias
+
+
+class CustomAuthUser(DjangoAuthUser):  # pragma: no cover
+    """
+    Override Django Auth User model to define a custom Matrix username.
+    """
+
+    def attributs(self):
+        d = super().attributs()
+        if self.user:
+            d["normalized_name"] = Alias.normalize(self.user.username)
+        return d
diff --git a/note_kfet/admin.py b/note_kfet/admin.py
index fa192b570111aa1c1711b03a290852e891b2d14b..06543102f096da773d5ae99badd09073beaa46bd 100644
--- a/note_kfet/admin.py
+++ b/note_kfet/admin.py
@@ -52,3 +52,9 @@ if "rest_framework" in settings.INSTALLED_APPS:
     from rest_framework.authtoken.admin import *
     from rest_framework.authtoken.models import *
     admin_site.register(Token, TokenAdmin)
+
+if "cas_server" in settings.INSTALLED_APPS:
+    from cas_server.admin import *
+    from cas_server.models import *
+    admin_site.register(ServicePattern, ServicePatternAdmin)
+    admin_site.register(FederatedIendityProvider, FederatedIendityProviderAdmin)
diff --git a/note_kfet/urls.py b/note_kfet/urls.py
index d4341bc6f1b5e9b05c9020e2b97cb25894711e72..ab19d763396a7dd94dd31785941b1763f3bce81f 100644
--- a/note_kfet/urls.py
+++ b/note_kfet/urls.py
@@ -45,6 +45,11 @@ if "oauth2_provider" in settings.INSTALLED_APPS:
         path('o/', include('oauth2_provider.urls', namespace='oauth2_provider'))
     )
 
+if "cas_server" in settings.INSTALLED_APPS:
+    urlpatterns.append(
+        path('cas/', include('cas_server.urls', namespace='cas_server'))
+    )
+
 if "debug_toolbar" in settings.INSTALLED_APPS:
     import debug_toolbar
     urlpatterns = [
diff --git a/requirements.txt b/requirements.txt
index d889dd54f2ecdafae87371052055c111a516a74d..0071bc837fa5ae4b9a4dc342bdeb5dda15f617bd 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,6 +1,7 @@
 beautifulsoup4~=4.7.1
 Django~=2.2.15
 django-bootstrap-datepicker-plus~=3.0.5
+django-cas-server~=1.2.0
 django-colorfield~=0.3.2
 django-crispy-forms~=1.7.2
 django-extensions~=2.1.4