BitrixPasswordHasher
Авторизация в django пользователей, импортированных из CMS "Битрикс"
Если пользователи были импортированы из битрикса, то они смогут авторизоваться со своими старыми паролями, если в django настроить дополнительный хешер
Предварительные действия
Чтобы django могла определить алгоритм хеширования необходимо подготвить пароли в БД
update
auth_user
set
password = concat('bitrix$', password)
where
id <> 1
в данном случае исключили суперпользователя, поскольку он скорее всего был создан при инициализации django-проекта
Настройка django
В файле settings.py необходимо указать набор используемых хешеров
INSTALLED_APPS = [
...
'myapp.users'
]
PASSWORD_HASHERS = [
'django.contrib.auth.hashers.PBKDF2PasswordHasher',
'myapp.users.hashers.BitrixPasswordHasher',
]
Первая запись этого списка будет использоваться для сохранения паролей, а все остальные записи являются средствами, которые могут быть применены для проверки существующих паролей.
Таким образом импортированные пользователи смогут авторизоваться под битриксовским паролем, а при смене пароль будет хеширован по первому алгоритму из списка.