I am writing a view only for staff users.

def my_view(request):
    if request.user.is_staff:
        # show something to staff
    else:
        return my_view_404(request)

It this permission check enough? Any flaw? Or should I check request.user.is_authenticated()?

有帮助吗?

解决方案

You do not need to check is_authenticated(). Non-authenticated users will have an AnonymousUser object in request.user, and that type of object should respond False to all is_staff checks without exception.

其他提示

No need as request.user.is_staff will check both authentication and staff status.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top