.. _ref-authentication-backends:

=======================
Authentication backends
=======================

.. module:: django.contrib.auth.backends
   :synopsis: Django's built-in authentication backend classes.

This document details the authentication backends that come with Django. For
information on how to use them and how to write your own authentication
backends, see the :ref:`Other authentication sources section
<authentication-backends>` of the :ref:`User authentication guide
<topics-auth>`.


Available authentication backends
=================================

The following backends are available in :mod:`django.contrib.auth.backends`:

.. class:: ModelBackend

    This is the default authentication backend used by Django.  It
    authenticates using usernames and passwords stored in the
    :class:`~django.contrib.auth.models.User` model.


.. class:: RemoteUserBackend

    .. versionadded:: 1.1

    Use this backend to take advantage of external-to-Django-handled
    authentication.  It authenticates using usernames passed in
    :attr:`request.META['REMOTE_USER'] <django.http.HttpRequest.META>`.  See
    the :ref:`Authenticating against REMOTE_USER <howto-auth-remote-user>`
    documentation.
