У меня проблемы с пониманием, как заставить аутентификацию работать. Я настроил базовый API, и я пытаюсь заставить работать любой тип аутентификации (Базовая аутентификация для начала). Но независимо от того, что я делаю, я могу получать информацию из базы данных (используя Postman) без ввода имени пользователя или пароля. Что я делаю не так?
Вот мой класс:
class User(models.Model):
birthdate = models.DateField()
gender = models.CharField(
max_length=1,
choices=(('M', 'Male'), ('F', 'Female'), ('O', 'Other'), ('U', 'Unspecified'))
)
join_date = models.DateField(auto_now_add=True)
username = models.CharField(max_length=25, unique=True)
password = models.CharField(max_length=25,)
Вот мой взгляд:
def user_tester(request):
permission_classes = (IsAuthenticated,)
if request.method == 'GET':
objs = User.objects.all()
serializer = UserSerializer(objs, many=True)
return JsonResponse(serializer.data, safe=False)
Вот соответствующие настройки:
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
)
}
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
Пожалуйста, сообщите, что я делаю не так. У меня есть некоторый опыт работы с Django, но совсем нет опыта аутентификации или прав доступа.