В моем проекте я должен создать пользовательский тип пользователя и тип компании, у которых есть разные атрибуты. Я могу создать их с разными моделями, но я не могу одновременно реализовать их в системе auth? Интересно, возможно ли это?Система проверки подлинности Django 2 model 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. Для получения дополнительной информации см Writing an authentication backend
Когда кто-то звонит django.contrib.auth.authenticate() Джанго пытается аутентичности во всех своих движков аутентификации. Если первый метод аутентификации не удался, Django пытается выполнить второй и т. Д., Пока не будут предприняты попытки всех бэкэнд.
Будьте осторожны:
Порядок вопросов AUTHENTICATION_BACKENDS, поэтому, если же имя пользователя и пароль действителен в нескольких движков, Django остановит обработку на первом положительном матче.
Смежные вопросы
- 1. ASP.NET - система ручной проверки подлинности
- 2. Безопасная система проверки подлинности PHP
- 3. Процесс проверки подлинности Django
- 4. Django язык проверки подлинности
- 5. Есть ли система проверки подлинности для .NET?
- 6. Система проверки подлинности электронной почты в ASP.NET
- 7. Система проверки подлинности CodeIgniter на основе Doctrine
- 8. Использование django с устаревшими файлами проверки подлинности
- 9. реакция проверки подлинности проверки подлинности
- 10. Регистрация проверки подлинности проверки подлинности
- 11. Метод проверки подлинности API Symfony 2
- 12. ошибки проверки подлинности социальной регистрации django
- 13. Изменение проверки подлинности Django для тестирования
- 14. Настройка LDAP для проверки подлинности Django
- 15. Как избежать проверки подлинности на 2 страницы
- 16. Реализация проверки подлинности Entity Framework/WebApi 2
- 17. Настройка проверки подлинности для проверки подлинности Windows
- 18. Автоматическая система проверки подлинности пользователя для контроллеров в ASP.NET MVC?
- 19. система проверки подлинности с node.js restify и backbone.js
- 20. Есть ли у GWT 2.5+ «система проверки подлинности»?
- 21. поставщик проверки подлинности подлинности VS-фильтра проверки подлинности
- 22. Django 1.6 и django-registration: встроенные проверки подлинности не найдены
- 23. Bootstrap подвесная система компоновки 2: 1
- 24. Система проверки подлинности Django на AppEngine: как вырезать HTML и т. Д.?
- 25. Встроенная функция проверки подлинности
- 26. Ошибка проверки подлинности PHP
- 27. Система координат [-1, 1]
- 28. Django Model DateField to_python
- 29. Ошибка проверки подлинности Laravel
- 30. Разница Django REST между классами разрешений и классами проверки подлинности
Что касается наследования 'AbstractUser' в обеих моделях? – ravigadila
@RaviKumar Я могу создать таких пользователей, как вы сказали, но в settings.py Мне нужно выбрать, какую модель я использовал для auth – ihsancemil
Я надеюсь, что это [ссылка 1] (http://stackoverflow.com/questions/30495979/django-1 -8-multiple-custom-user-types) и [ссылка 2] (http://stackoverflow.com/questions/19253842/whats-the-proper-way-to-use-multiple-auth-user-model-in -django-1-5) может помочь вам начать. – ravigadila