diff --git a/med/settings.py b/med/settings.py index b9b08cd..fb11d68 100644 --- a/med/settings.py +++ b/med/settings.py @@ -35,6 +35,7 @@ INSTALLED_APPS = [ # External apps 'reversion', 'rest_framework', + 'cas', # Django contrib 'django.contrib.admin', @@ -64,8 +65,14 @@ MIDDLEWARE = [ 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.sites.middleware.CurrentSiteMiddleware', + 'cas.middleware.CASMiddleware', ] +AUTHENTICATION_BACKENDS = ( + 'django.contrib.auth.backends.ModelBackend', + 'cas.backends.CASBackend', +) + ROOT_URLCONF = 'med.urls' TEMPLATES = [ diff --git a/med/settings_local.example.py b/med/settings_local.example.py index 51fb051..c2006a2 100644 --- a/med/settings_local.example.py +++ b/med/settings_local.example.py @@ -16,6 +16,10 @@ EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' SERVER_EMAIL = 'club-med@crans.org' +CAS_SERVER_URL = "https://note.crans.org/cas/" +CAS_LOGOUT_COMPLETELY = True +CAS_PROVIDE_URL_TO_LOGOUT = True + # Security settings SECURE_CONTENT_TYPE_NOSNIFF = False SECURE_BROWSER_XSS_FILTER = False diff --git a/med/urls.py b/med/urls.py index 51e3f3d..ad4bff8 100644 --- a/med/urls.py +++ b/med/urls.py @@ -2,6 +2,7 @@ # Copyright (C) 2017-2019 by BDE ENS Paris-Saclay # SPDX-License-Identifier: GPL-3.0-or-later +from cas import views as cas_views from django.contrib.auth.decorators import login_required from django.contrib.auth.views import PasswordResetView from django.urls import include, path @@ -41,4 +42,9 @@ urlpatterns = [ path('accounts/profile/', RedirectView.as_view(pattern_name='index')), path('database/doc/', include('django.contrib.admindocs.urls')), path('database/', admin_site.urls), + + # Include CAS authentication + # TODO Uncomment when NK20 will be ready + # path('admin/login/', cas_views.login, name='login'), + # path('admin/logout/', cas_views.logout, name='logout'), ]