Механизм Приложения Google - узнает, является ли пользователь администратором

В GAE, там способ узнать, является ли Пользователь администратором?

В то время как is_current_user_admin() показывает, является ли текущий пользователь администратором, я хотел бы знать, существует ли способ обнаружить если данный User объект для администратора или не (например, гипотетическое User.is_admin() функция).

Спасибо за чтение.

Brian

10
задан Brian M. Hunt 22 June 2010 в 21:46
поделиться

2 ответа

К сожалению, модель User не содержит информация о том, является ли пользователь администратором.

Если ваш список администраторов меняется нечасто, вы можете написать свою собственную функцию is_admin () , которая проверяет, соответствует ли значение User.user_id () одному из ваших учетные записи администраторов. Например:

ADMIN_USER_IDS = ['id1', 'id2', ...]  # manually populated list
def is_admin(user):
    return user.user_id() in ADMIN_USER_IDS
5
ответ дан 4 December 2019 в 02:25
поделиться

Это невозможно.

Вы можете создать класс-оболочку для users.User и отслеживать, был ли этот пользователь администратором на момент последнего входа в систему. (Вы не можете определить, был ли данный пользователь пользователь является в настоящее время администратором, если только этот пользователь в настоящее время не является клиентом.)

Использование статуса администратора Google App Engine несколько ограничивает - например, что если вы хотите создать новую группу пользователей с привилегиями, которые выше, чем обычно, но не настолько, как у администратора? Лучше не объединять привилегии в вашем приложении с привилегиями в Консоли администрирования.

1
ответ дан 4 December 2019 в 02:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: