Skip to main content

REMOTE_USER authentication using LDAP

Project description

Django Remote Auth LDAP
=========================

[![Build Status](https://travis-ci.org/apmorton/django-remote-auth-ldap.png?branch=master)](https://travis-ci.org/apmorton/django-remote-auth-ldap)

Purpose
-------

This app combines [django-auth-ldap](http://pythonhosted.org/django-auth-ldap/) with django's [RemoteUserBackend](https://docs.djangoproject.com/en/dev/howto/auth-remote-user/)
It allows django applications hosted in IIS to take advantage of Windows Authentication in IIS (401 Challenge) while also having the advanced features offered in `django-auth-ldap`


Features
--------

- [PEP 8](http://www.python.org/dev/peps/pep-0008/) compliance
- [semver](http://semver.org/) compliance


Installing
----------

Install with pip/easy_install from the pypi

`pip install django-remote-auth-ldap`

or clone the latest source

git clone https://github.com/apmorton/django-remote-auth-ldap.git
cd django-remote-auth-ldap
python setup.py install


Using
-----

In your django settings.py file configure django-auth-ldap normally, verify that the configuration is indeed working!

Add the `RemoteUserMiddleware` class after the `AuthenticationMiddleware` class
```python
MIDDLEWARE_CLASSES = (
...
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django_remote_auth_ldap.middleware.RemoteUserMiddleware',
...
)
```

Set the RemoteUserLDAPBackend as the authentication backend
```python
AUTHENTICATION_BACKENDS = (
'django_remote_auth_ldap.backend.RemoteUserLDAPBackend',
)
```

The application expects the remote user to be in the form `domain\user` (which is how IIS returns it)

Settings
--------

There are a few settings you can use to control the behavior

- `DRAL_CHECK_DOMAIN` - Boolean - whether or not to check the domain against a known list - default True
- `DRAL_STRIP_DOMAIN` - Boolean - whether or not to strip the domain off the username before passing to django-auth-ldap - default True
- `DRAL_DOMAINS` - List - list of domains to check against, should be lowercase! - default []
- `DRAL_HEADER` - String - header to check for remote user in - default REMOTE_USER




Project details


Download files

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

Source Distribution

django-remote-auth-ldap-1.0.0.tar.gz (3.2 kB view hashes)

Uploaded Source

Built Distribution

django_remote_auth_ldap-1.0.0-py2-none-any.whl (3.9 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page