Rumah > Soal Jawab > teks badan
Apabila menggunakan pengesahan berdasarkan cookies
, tulis Permission
class IsAuthenticatedAndStudentOwner(BasePermission):
message = 'You must be a student.'
def has_permission(self, request, view):
return request.user.is_authenticated() and smart_str(request.user.identity) == '学生'
def has_object_permission(self, request, view, obj):
return obj.student.user == request.user
Apabila saya menggunakan jwt
untuk mengesahkan, log masuk mengembalikan token
tanpa menjalankan login(request, user)
, iaitu request.user
ialah AnonymousUser
.
# login(request, user_obj)
payload = jwt_payload_handler(user_obj)
token = jwt_encode_handler(payload)
data['token'] = token
return data
Jadi bagaimana saya harus mengubah suai ini Permission
? Tolong bantu.
阿神2017-05-15 17:16:23
jwt
的验证,你是通过header
ORcookie
的方式传递的?
define another method in class IsAuthenticatedAndStudentOwner
def is_authenticated(self, request, view):
if using cookie:
return request.user.is_authenticated()
elseif jwt:
...
def has_permission(self, request, view):
return self.is_authenticated(request, view) and smart_str(request.user.identity) == '学生'
習慣沉默2017-05-15 17:16:23
Anda juga boleh membukanya menggunakan jwtlogin(request, user_obj)
ah
Pengguna bahagian belakang masih wujud dalam permintaan, tetapi apabila menggunakan jwt, templat django tidak lagi digunakan, dan pengguna tidak boleh digunakan secara bebas dalam halaman
Saya akan menulis ini tidak lama lagi, sila teruskan perhatian kepada pertukaran