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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2

File details

Details for the file django-remote-auth-ldap-1.0.0.tar.gz.

File metadata

  • Download URL: django-remote-auth-ldap-1.0.0.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for django-remote-auth-ldap-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f6b0e0ff05f1b7a94415a060e5783b765b9211f67a14e4eea21f71347e672661
MD5 24010cfea6b96326a8f773b7dbcecead
BLAKE2b-256 a9e3e036d240dfc2a21bbadc4451337e89b1c72cfd061721eb8b3b96d7b28bc8

See more details on using hashes here.

File details

Details for the file django_remote_auth_ldap-1.0.0-py2-none-any.whl.

File metadata

  • Download URL: django_remote_auth_ldap-1.0.0-py2-none-any.whl
  • Upload date:
  • Size: 3.9 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for django_remote_auth_ldap-1.0.0-py2-none-any.whl
Algorithm Hash digest
SHA256 d61b55a20530a109a9d68864c2fa4761fbbfceea42b55416c369293ec39646ae
MD5 bed2823c97db81e38091181026ef00ca
BLAKE2b-256 f51373bc3348fdb01f04403183042107265eeb5412848bae56dd337fa435f670

See more details on using hashes here.

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