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.

Files for django-remote-auth-ldap, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size django_remote_auth_ldap-1.0.0-py2-none-any.whl (3.9 kB) File type Wheel Python version py2 Upload date Hashes View
Filename, size django-remote-auth-ldap-1.0.0.tar.gz (3.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page