IsAuthenticated olarak ayarlanmış bir ListView kümesi iznim var, ancak Incognito penceresinde URL'ye dokunduğumda. Verileri görüntüleyebiliyorum. IsAdmin iznini ayarladığım halde, bana bir hata göstererek mükemmel şekilde çalışır. İşte cal kullanıcıyı erişmeye çalıştığınızda Aşağıda benim bakışDRF Çalıştırılmadı
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
)
}
Ara Katman ayarları
MIDDLEWARE_CLASSES = [
'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',
]
from rest_framework.permissions import IsAuthenticated
class BlogListAPIView(ListAPIView):
queryset = Blog.objects.filter(publish=True, draft=False)
serializer_class = BlogListSerializer
permission_classes = [IsAuthenticated]
Ayarlar dosyaları benim serileştirici
class BlogListSerializer(ModelSerializer):
url = HyperlinkedIdentityField(
view_name="blog_api:post_detail",
lookup_field="slug"
)
class Meta:
model = Blog
fields = [
'url',
'title',
'category',
'date',
'publish',
'draft'
]
olduğunu BlogListAPIView üzerinde ling get_object, bir hata atar JSON serileştirilebilir değil. Bazı nedenlerden dolayı, middleware bir Kullanıcı olarak AnonymousUser kullanıyor. Anonim Kullanıcı giriş yapmışsa, IsAuthenticated izni başarısız olur. Olan şey budur (sanırım). Ama ben AnonymousUser oturumunu alamıyorum. Niçin AnonymousUser erişilir ve Onu nasıl günlüğe kaydederim?
Lütfen sorunuzun açık olduğundan emin olun. "Mükemmel çalışıyor" diye soruyorsunuz, gerçek sorun ne? – Linovia
, settings.py dosyasında DEFAULT_AUTHENTICATION_CLASSES & DEFAULT_PERMISSION_CLASSES tanımladınız mı? Bu değerleri buraya koyabilir misin? –
@Linovia IsAdmin İzni için mükemmel çalışıyor. –