Как создать нового пользователя в Django с помощью LDAP?
Я использую Django для создания REST API с LDAP. Одна из конечных точек получает имя пользователя (это не то же самое имя пользователя, который вошел в систему через IsAuthenticated
). Я хочу проверить, существует ли это имя пользователя в системе, даже если он никогда не входил в систему. Мой текущий код был таким:
try:
user = User.objects.get(username=request.data['username'])
except:
return Response(data={"error": "User does not exist"}, status=status.HTTP_400_BAD_REQUEST)
Это, конечно, не работает, потому что база данных содержит пользователей, которые вошли в систему хотя бы один раз. Как я могу создать пользователя, если он не существует? Я знаю, что могу использовать User.objects.create
, но я хочу, чтобы он получал данные из LDAP, а не просто передавал ему username
.
Логика, которая мне нужна:
- Проверьте, не принадлежит ли имя пользователя какому-либо пользователю через LDAP. Если да, то возвращается сообщение об ошибке.
- В противном случае, создайте/наполните пользователя и выполните другие действия (исходя из назначения конечной точки).
Я использую django_auth_ldap
.