python - Quelle implémentation CAS utiliser dans django?




authentication single-sign-on (4)

Quelle implémentation CAS dois-je utiliser pour activer la connexion unique CAS à mon application Django (en utilisant un serveur CAS spécifié, je ne suis pas intéressé par la création d'un fournisseur CAS)? Ce que je peux trouver sont les suivantes:

J'ai déjà utilisé django-cas, et cela semble fonctionner, mais semble un peu abandonné? Django-cas-consumer semble au moins avoir une activité plus récente.

Quels sont les avantages et inconvénients de chaque mise en œuvre? Y a-t-il d'autres implémentations que je devrais utiliser?



J'utilise une ancienne version de django-cas depuis longtemps maintenant, et cela fonctionne comme prévu. Je n'ai jamais utilisé django-cas-consumer, mais je l'ai examiné.

En comparant le code entre les deux projets, il semblerait que django-cas-consumer soit une version simplifiée de django-cas.

Les deux différences les plus flagrantes sont:

  • django-cas-consumer ne supporte que la version 1 du CAS
  • django-cas a un middleware qui capture toutes les requêtes vers django.contrib.auth.views.login et se déconnecte et les redirige vers les vues de connexion et de déconnexion du CAS

De plus, si vous utilisez Apache, vous pouvez envisager d’utiliser mod_auth_cas , qui est un client CAS officiel. Ensuite, vous pouvez simplement utiliser l'authentification de l'utilisateur à distance de django.


Si quelqu'un intéresse encore CAS sur django. Veuillez essayer la version la plus récente et la plus active de django cas: django-cas-ng :

pip install django-cas-ng

django-cas-ng est l'implémentation du client CAS (Central Authentication Service). Ce projet a hérité de django-cas. Django-cas n'est pas mis à jour depuis 2013-4-1. Ce projet comprendra de nouvelles corrections de bogues et le développement de nouvelles fonctionnalités. Il a plus de fonctionnalités:

  • Soutenez CAS version 1.0, 2.0 et 3.0.
  • Supporte Django 1.5, 1.6, 1.7 avec le modèle personnalisé de l'utilisateur
  • Supporte Python 2.7, 3.x

Une faible activité ne signifie pas nécessairement que le produit n'est pas assez bon. Il se peut que le produit ait atteint un état stable. Vous devriez probablement le confirmer avec le développeur. Personnellement, j'irais pour un système stable plutôt que pour un système très actif (surtout si l'activité corrige les bugs)





cas