Django is_staff permission decorator

Я пытаюсь ограничить доступ к страницам, используя 2 уровня пользователя. Суперпользователь и админ. Суперпользователь - это обычный пользователь Django с назначенным параметром is_superuser. Пользователь с правами администратора также является обычным пользователем, которому назначено только разрешение is_staff.

Проблема в том, что когда я использую этот декоратор для пользователя с правами администратора, он не проходит проверку:

@permission_required('is_staff')
def my_view(....)

@permission_required ('is_staff' ) возвращает false для анонимных пользователей. (правильно)
@permission_required ('is_superuser') возвращает true только для суперпользователей (правильно)
@permission_required ('is_staff') возвращает FALSE для пользователей с назначенным разрешением 'is_staff'. (неправильно).

Есть какие-нибудь мысли?

51
задан f4lco 8 May 2013 в 07:49
поделиться