Как я могу ограничить доступ для моего профиля? - PullRequest
0 голосов
/ 12 февраля 2019

Я просмотрел доступ к личной информации.Для этого в URL есть pk.Однако это проблематично, потому что они могут получить доступ к другой пользовательской информации, просто изменив значение pk.Я прочитал документ, и я не нашел ничего связанного с этим.Как я могу предотвратить эту проблему?

path('profil/<int:pk>', views.ProfilView.as_view(), name="profil") 

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Если для URL нет причины указывать PK (то есть вы не хотите использовать то же представление для просмотра информации других пользователей), вы можете заставить свой ProfilView выглядеть примерно так, предполагая, что он полученот DetailView:

from django.contrib.auth.mixins import LoginRequiredMixin
# ...

class ProfilView(LoginRequiredMixin, DetailView): 
    model = User  # or whatever it happens to be

    def get_object(self):
        return self.request.user  # Always return the current user

и просто


path('profil/', views.ProfilView.as_view(), name="profil") 

в вашей конфигурации URL.

0 голосов
/ 12 февраля 2019

Требуется, чтобы пользователь вошел в систему, и отображает 401 несанкционированную ошибку, если это не идентификатор его собственного профиля.

Может быть полезно иметь URL-адрес profil/me, который всегда показывает собственный профиль пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...