Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Django Cas SSO Client (inherited from django-cas)

Project description

# cas

[![Code Health](](

CAS client for Django. This is K-State's fork of the original, which lives at This fork is actively maintaned and
includes several new features.

Current version: 0.8.5

## Install

See the document at Bitbucket

## for CAS

Add the following to middleware if you want to use CAS::


Add these to ```` to use the CAS Backend::

CAS_SERVER_URL = "Your Cas Server"

To disable CAS authentication for the entire django admin app, you should use the ``CAS_ADMIN_AUTH`` parameter::


The ``CAS_ADMIN_PREFIX`` is deprecated since version 1.1.4 and will be removed in 1.1.5 release.

# Additional Features

This fork contains additional features not found in the original:
* Proxied Hosts
* CAS Response Callbacks
* CAS Gateway
* Proxy Tickets (From Edmund Crewe)

## Proxied Hosts

You will need to setup middleware to handle the use of proxies.

Add a setting ``PROXY_DOMAIN`` of the domain you want the client to use. Then add


This middleware needs to be added before the django ``common`` middleware.

## CAS Response Callbacks

To store data from CAS, create a callback function that accepts the ElementTree object from the
proxyValidate response. There can be multiple callbacks, and they can live anywhere. Define the
callback(s) in ````:


and create the functions in ``path/to/``:

def callbackfunction(tree):
username = tree[0][0].text

user, user_created = User.objects.get_or_create(username=username)
profile, created = user.get_profile() = tree[0][1].text
profile.position = tree[0][2].text

## CAS Gateway

To use the CAS Gateway feature, first enable it in settings. Trying to use it without explicitly
enabling this setting will raise an ImproperlyConfigured:


Then, add the ``gateway`` decorator to a view:

from cas.decorators import gateway

def foo(request):
return render(request, 'foo/bar.html')

## Custom Forbidden Page

To show a custom forbidden page, set ``CAS_CUSTOM_FORBIDDEN`` to a ````. Otherwise,
a generic ``HttpResponseForbidden`` will be returned.

## Proxy Tickets

This fork also includes Edmund Crewe's proxy ticket patch:

Project details

Release history Release notifications

This version
History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
hypers-cas-1.1.7.tar.gz (12.9 kB) Copy SHA256 hash SHA256 Source None Jun 28, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page