Question

Which CAS implementation should i use to enable CAS single sign on to my django app (trusing a specified CAS server, I'm not interested in creating a CAS provider) ? What I can find are the following:

I've used django-cas before, and it seems to work but seems kind of abandoned? django-cas-consumer at least seems to have more recent activity.

What are the actual pros and cons of each implementation? Are there other implementations I should use?

Was it helpful?

Solution

I've been using an older version of django-cas for a long time now, and it works as expected. I've never used django-cas-consumer, but I've looked into it.

Comparing the code between the two projects, it looks like django-cas-consumer is a stripped-down version of django-cas.

The two most glaring differences are:

  • django-cas-consumer only supports CAS version 1
  • django-cas has middleware that captures any requests to the django.contrib.auth.views.login and logout and redirects them to the CAS login and logout views

Also, if you are using Apache, you can consider using mod_auth_cas, which is an official CAS client. Then you can simply use django's remote user authentication.

OTHER TIPS

Django-cas was missing features we needed, so we rolled our own: http://github.com/KTHse/django-cas2

If someone still interesting CAS on django. Please try the most latest and active maintained version of django cas: django-cas-ng:

pip install django-cas-ng

django-cas-ng is CAS (Central Authentication Service) client implementation. This project inherit from django-cas. django-cas is not updated since 2013-4-1. This project will include new bugfix and new feature development. It have more features:

  • Support CAS version 1.0, 2.0 and 3.0.
  • Support Django 1.5, 1.6, 1.7 with User custom model
  • Support Python 2.7, 3.x

Low activity does not necessarily mean that product is not good enough. It might be the case that the product has reached a stable state. Probably, you should confirm it with the developer. Personally, I would go for a stable system over one which shows lot of activity (especially if the activity is bug-fixing )

The kstateome/django-cas repo is more active recently (2015) with following details.

Requirements

  • Current version: 1.1.1
  • Django 1.5 or above,
  • Python 2.6, 2.7, 3.4

Features

This is K-State's fork of the original and includes several additional features as well as features merged from

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top