Migration vers django_cas_ng

Précédemment, GestioCOF utilisait django-cas, qui n'est plus maintenu.
Ceci le remplace par django-cas-ng, un fork plus récent et maintenu.

En particulier, django-cas-ng est compatible avec Python 3,
contrairement à django-cas.
This commit is contained in:
Basile Clement 2016-05-26 22:20:04 +02:00
parent 498fa2809b
commit 21641c9468
7 changed files with 14 additions and 9 deletions

View file

@ -1,4 +1,4 @@
from django_cas.decorators import user_passes_test
from django_cas_ng.decorators import user_passes_test
def is_cof(user):
try:

View file

@ -1,7 +1,8 @@
from django.contrib.sites.models import Site
from django.conf import settings
from django_cas.backends import CASBackend, _verify as CASverify
from django_cas.models import User
from django_cas_ng.backends import CASBackend
from django_cas_ng.utils import get_cas_client
from django.contrib.auth import get_user_model
from django.contrib.auth.models import User as DjangoUser
from django.db import models, connection
from django.core.mail import send_mail
@ -9,11 +10,14 @@ from django.template import Template, Context
from gestioncof.models import CofProfile, CustomMail
User = get_user_model()
class COFCASBackend(CASBackend):
def authenticate_cas(self, ticket, service, request):
"""Verifies CAS ticket and gets or creates User object"""
username, attributes = CASverify(ticket, service)
client = get_cas_client(service_url=service)
username, attributes, _= client.verify_ticket(ticket)
if attributes:
request.session['attributes'] = attributes
if not username:

View file

@ -3,7 +3,7 @@
{% block content %}
<div id="main-login-container">
<div id="main-login">
<a id="login_clipper" href="{% url 'django_cas.views.login' %}">
<a id="login_clipper" href="{% url 'django_cas_ng.views.login' %}">
Compte clipper
</a>
<a id="login_outsider" href="{% url 'gestioncof.views.login_ext' %}">

View file

@ -56,7 +56,7 @@ def logout(request):
except CofProfile.DoesNotExist:
profile, created = CofProfile.objects.get_or_create(user = request.user)
if profile.login_clipper:
return redirect("django_cas.views.logout")
return redirect("django_cas_ng.views.logout")
else:
return redirect("django.contrib.auth.views.logout")