私のプロジェクトでは、個人属性のユーザーと企業タイプのユーザーを作成する必要があります。私は別のモデルでそれらを作成することができますが、私は両方の認証システムで同時に実装することはできません?それが可能なのだろうか?Django 2モデル1認証システム
0
A
答えて
0
django docsに記載されているように、独自のAUTHENTICATION_BACKENDSを書くことができます。たとえば :
class UserProfileModelBackend(ModelBackend):
def authenticate(self, username=None, password=None):
try:
user = self.user_class.objects.get(username=username)
if user.check_password(password):
return user
except self.user_class.DoesNotExist:
return None
def get_user(self, user_id):
try:
return self.user_class.objects.get(pk=user_id)
except self.user_class.DoesNotExist:
return None
@property
def user_class(self):
if not hasattr(self, '_user_class'):
self._user_class = apps.get_model(*settings.AUTH_USER_MODEL.split('.', 2))
if not self._user_class:
raise ImproperlyConfigured('Could not get custom user model')
return self._user_class
そしてAUTHENTICATION_BACKENDS settings.pyででこのAUTH-バックエンドを追加します。誰かがdjango.contrib.auth.authenticateを呼び出すと詳細について がWriting an authentication backend
()を参照してくださいDjangoはその認証バックエンドのすべてにわたって認証しようとします。最初の認証方法が失敗した場合、Djangoはすべてのバックエンドが試行されるまで2番目の認証方法を試します。
AUTHENTICATION_BACKENDSの順番に、その同じユーザ名とパスワードが複数のバックエンドで有効である場合、Djangoは最初の正の一致の処理を停止します。
は注意してください。
関連する問題
- 1. Djangoの認証システムの作成」
- 2. Django + Angular 2ハッシュ認証
- 3. Django:モデルへの認証ユーザーのインポート
- 4. Django 1.5:UserCreationFormとカスタム認証モデル
- 5. 認証システム。 ph
- 6. Google認証システム
- 7. ウェブ認証システムのロールバック
- 8. レールの認証システム
- 9. Socket.ioと認証システム
- 10. Djangoのユーザー認証システムのデフォルトURLは何ですか?
- 11. 複数のアプリケーションからdjango認証システムを使用する
- 12. Facebook APIを使用したdjango認証システムの統合
- 13. DJango認証システムでEMailアドレスをユニークにする
- 14. 2つのdjangoプロジェクトで同じ認証モデルを共有できますか?
- 15. Django認証ロジック
- 16. Django。認証バックエンド
- 17. djangoログイン認証
- 18. Django - 認証 - リダイレクト
- 19. Djangoの認証
- 20. Django認証Mongodb
- 21. Django LDAP認証
- 22. Google認証システムのスクラッチコード
- 23. Laravel 5.2.29マルチ認証::ガード(「1」)、認証::ガード(「2」)
- 24. カスタム認証モデル用のcreate_superuser
- 25. Django登録システムと組み込みDjango認証システムの違いは何ですか?
- 26. ノード認証モデル/スキーム
- 27. dotnetnukeの認証モデル
- 28. 認証モデルlaravel 5.4
- 29. Django:モデル検証エラーManytoManyField
- 30. Django - 認証に複数のモデルを使用する
両方のモデルで 'AbstractUser'を継承するのはどうですか? – ravigadila
@RaviKumarあなたが言ったようなユーザーを作成することはできますが、settings.pyで私はどのモデルを私が認証に使用したかを選択する必要があります – ihsancemil
私はこれを望んでいます[リンク1](http://stackoverflow.com/questions/30495979/django-1 -8-multiple-custom-user-types)と[link 2](http://stackoverflow.com/questions/19253842/whats-the-properway-to-use-multiple-auth-user-model-in -django-1-5)を使って開始することができます。 @RaviKumarありがとうございます。 – ravigadila