カスタムの認証バックエンドを作成する場合、 authenticate() メソッドに渡す引数の設計は
自分で行います。したがって、ここに session_id やリクエストオブジェクトそのものを
渡すように設計してもかまいません。
ただし、バックエンドでユーザ名とパスワード以外の情報を引数にとる authenticate()
メソッドを定義する場合、ログインのためのビューを (django.contrib.auth.views.login では
なく)自作せねばなりません。 django.contrib.auth.views.login がログインフォームに使って
いるマニピュレータが、ユーザ名とパスワードで認証を行って、正しいユーザであるか検証する
ためのバリデータ、 isValidUser を使っているからです。
deshi さんは書きました: