authenticate()がカスタム認証バックエンドで実行されていません

user2194805

次のバージョンとコードスニペットを使用して、プロジェクトに新しい認証バックエンドを追加しようとしています。

django:2.2.1 python:3.5.2 mysql-server:5.7

settings.py

...
AUTHENTICATION_BACKENDS = ['common.backends.MyOwnAuthenticationBackend']

common / backends.py

from django.conf import settings
from django.contrib.auth.backends import ModelBackend
from django.contrib.auth.models import User


class MyOwnAuthenticationBackend(ModelBackend):
    print('MOAB')
    def authenticate(self, username=None, password=None):
        print('AUTH')
        ...

    def get_user(self, username):
        print('GETUSER')
        try:
            return User.objects.get(pk=username)
        except User.DoesNotExist:
            return None

ログインしようとすると、MOAB返されますが、AUTH文字列またはGETUSER文字列が返されません

その理由は何でしょうか?

メインのurls.pyには、認証用に次のものが含まれています。

urls.py

from common import views as common_views
from django.conf.urls import include, url
from django.contrib import admin
from django.contrib.auth import views
from django.urls import path

...

url(r'^accounts/login/$', views.LoginView, name='auth_login'),

...

私は何を取りこぼしたか?インターネットでたくさんの質問や投稿を読んでいますが、authenticate()メソッドがまったく呼び出されない理由がわかりません。

PRMoureu

メソッドは次のようになります。

def authenticate(self, request, username=None, password=None):

認証システムのソースをauthenticate調べることで、メソッドの署名に必要なパラメーターを確認できます最初に配置されたパラメーターはrequestで、次に資格情報が名前付きパラメーターとして解凍されます。

def authenticate(request=None, **credentials):
    """
    If the given credentials are valid, return a User object.
    """
    for backend, backend_path in _get_backends(return_tuples=True):
        try:
            inspect.getcallargs(backend.authenticate, request, **credentials)
        except TypeError:
            # This backend doesn't accept these credentials as arguments. Try the next one.
            continue
        try:
            user = backend.authenticate(request, **credentials)
     [...]

_get_backendssettings.AUTHENTICATION_BACKENDS内のすべてのバックエンドのリストを表します)

カスタム認証に関するドキュメント:https
//docs.djangoproject.com/en/dev/topics/auth/customizing/#writing-an-authentication-backend

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

IBMWorklightアダプター-httpsバックエンドピアが認証されていません

分類Dev

非同期タスクがバックグラウンドで実行されていませんか?

分類Dev

非同期タスクがバックグラウンドで実行されていませんか?

分類Dev

カスタム認証バックエンドでログインできません

分類Dev

システムバックを実行できません:安全でないXウィンドウ認証

分類Dev

Android O:バックグラウンド実行は許可されていません:許可を得たカスタムブロードキャスト

分類Dev

UWPバックグラウンドタスクが実行されていません

分類Dev

passport.authenticateコールバックが実行されていません

分類Dev

Androidサービスがバックグラウンドで正しく実行されていません

分類Dev

Androidサービスがバックグラウンドで実行されていませんか?

分類Dev

タイマーはローカルではスムーズに実行されていますが、サーバーでは実行されていません:(

分類Dev

Djangoカスタム認証バックエンドが機能しない

分類Dev

lein-rpmタスクの実行時にメソッドエラーが実装されていません

分類Dev

sudoで実行されるカスタムスクリプト-コマンドが見つかりません

分類Dev

「オブジェクト参照がオブジェクトのインスタンスに設定されていません」を取得しました。サーバーにデプロイするとエラーが発生しますが、ローカルで実行/デバッグしても問題ありません

分類Dev

カスタムdjango認証バックエンドは、最初はユーザーをログインしませんが、2回目は機能します

分類Dev

tkinterGUIがスレッドで実行されていません

分類Dev

「スレッド」メイン「パニック」でパニックになり、現在Tokioランタイムで実行されていません

分類Dev

バックグラウンドプロセスが実行されていませんか?

分類Dev

ユーザーにはカスタム認証バックエンドを持つ属性バックエンドがありませんが、認証を呼び出しました

分類Dev

ASP.NETCoreで認証トークンがバインドされていません

分類Dev

Dockerized Webサービスは、デタッチされたフラグがあってもバックグラウンドで実行されません

分類Dev

バックグラウンドタスクがキューに入れられ、実行されていません

分類Dev

Windows7で実行されているカスタムチェーンコードパスHyperledger Fabricv1.0ローカルネットワークが見つかりません

分類Dev

useHistoryがreactカスタムフックで定義されていません

分類Dev

「カーネルドライバがインストールされていません(rc = -1908)」がインストールされていないというエラーのため、Ubuntu 18.04.4LTSでVirtualBoxイメージを実行できません

分類Dev

Docusign-認証コードの付与-アクセストークンの取得時にリダイレクトURIが実行されていません

分類Dev

グローバルbeforeRouteLeaveミックスインがnuxtで実行されていません

分類Dev

AxiosPUTリクエストで認証ヘッダーが設定されていません

Related 関連記事

  1. 1

    IBMWorklightアダプター-httpsバックエンドピアが認証されていません

  2. 2

    非同期タスクがバックグラウンドで実行されていませんか?

  3. 3

    非同期タスクがバックグラウンドで実行されていませんか?

  4. 4

    カスタム認証バックエンドでログインできません

  5. 5

    システムバックを実行できません:安全でないXウィンドウ認証

  6. 6

    Android O:バックグラウンド実行は許可されていません:許可を得たカスタムブロードキャスト

  7. 7

    UWPバックグラウンドタスクが実行されていません

  8. 8

    passport.authenticateコールバックが実行されていません

  9. 9

    Androidサービスがバックグラウンドで正しく実行されていません

  10. 10

    Androidサービスがバックグラウンドで実行されていませんか?

  11. 11

    タイマーはローカルではスムーズに実行されていますが、サーバーでは実行されていません:(

  12. 12

    Djangoカスタム認証バックエンドが機能しない

  13. 13

    lein-rpmタスクの実行時にメソッドエラーが実装されていません

  14. 14

    sudoで実行されるカスタムスクリプト-コマンドが見つかりません

  15. 15

    「オブジェクト参照がオブジェクトのインスタンスに設定されていません」を取得しました。サーバーにデプロイするとエラーが発生しますが、ローカルで実行/デバッグしても問題ありません

  16. 16

    カスタムdjango認証バックエンドは、最初はユーザーをログインしませんが、2回目は機能します

  17. 17

    tkinterGUIがスレッドで実行されていません

  18. 18

    「スレッド」メイン「パニック」でパニックになり、現在Tokioランタイムで実行されていません

  19. 19

    バックグラウンドプロセスが実行されていませんか?

  20. 20

    ユーザーにはカスタム認証バックエンドを持つ属性バックエンドがありませんが、認証を呼び出しました

  21. 21

    ASP.NETCoreで認証トークンがバインドされていません

  22. 22

    Dockerized Webサービスは、デタッチされたフラグがあってもバックグラウンドで実行されません

  23. 23

    バックグラウンドタスクがキューに入れられ、実行されていません

  24. 24

    Windows7で実行されているカスタムチェーンコードパスHyperledger Fabricv1.0ローカルネットワークが見つかりません

  25. 25

    useHistoryがreactカスタムフックで定義されていません

  26. 26

    「カーネルドライバがインストールされていません(rc = -1908)」がインストールされていないというエラーのため、Ubuntu 18.04.4LTSでVirtualBoxイメージを実行できません

  27. 27

    Docusign-認証コードの付与-アクセストークンの取得時にリダイレクトURIが実行されていません

  28. 28

    グローバルbeforeRouteLeaveミックスインがnuxtで実行されていません

  29. 29

    AxiosPUTリクエストで認証ヘッダーが設定されていません

ホットタグ

アーカイブ