This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Benjamin Dauvergne 1fcda4c815 fix restructured text in README 2014-08-09 03:54:42 +02:00
sample first commit 2014-08-09 03:48:24 +02:00
src/django_kerberos fix restructured text in README 2014-08-09 03:54:42 +02:00
COPYING first commit 2014-08-09 03:48:24 +02:00
MANIFEST.in first commit 2014-08-09 03:48:24 +02:00
README fix restructured text in README 2014-08-09 03:54:42 +02:00
setup.py add description 2014-08-09 03:52:05 +02:00

README

Kerberos authentication for Django
==================================

Provide Kerberos authentication to Django applications.

Basic usage
===========

Add this to your project `urls.py`::

    url('^accounts/kerberos/', include('django_auth_kerb.urls')),

And use the default authentication backend, by adding that to your `settings.py` file::

    AUTHENTICATION_BACKENDS = (
        'django_auth_kerberos.backends.KerberosBackend',
    )

Settings
========

`KERBEROS_HOSTNAME`
-------------------

Hostname for retrieving the service key, the correspondig principal will be
`HTTP/{KERBEROS_HOSTNAME}@DEFAULT_REAML`, default is `None`. If `None` the hostname
from the request will be used.

`KERBEROS_KEYTAB`
-----------------

File path of the keytab containing the key for the service principal, default
is `None`. If `None` the default host keytab will be tried, which should fails
since it's usually only readable by root.

`KERBEROS_BACKEND_CREATE`
-------------------------

Whether to create user if no existing model can be found, default is `False`.

`KERBEROS_BACKEND_ADMIN_REGEXP`
-------------------------------

A regular expression that the principal must match to get superuser privileges,
default is `None`. A classic example could be `r'^.*/admin$'`.

Custom backend
==============

A custom authentication backend can be used, in this case the signature of the
authenticate method must be::

    class CustomKerberosBackend(object):
        def authenticate(self, principal=None):
            pass