Безопасность на уровне ролей с Google App Engine и Python

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

Стратегия тестирования является проблемой кодирования так же, как любым другим: какой datastructures использовать, переменные соглашения о присвоении имен, комментируют стандарты, и т.д.

5
задан Hoang Pham 19 September 2009 в 10:42
поделиться

1 ответ

Я бы сделал это, добавив ListProperty для ролей в модель, представляющую пользователей. Список содержит все роли, к которым принадлежит данный пользователь. Таким образом, если вы хотите узнать, принадлежит ли данный пользователь к данной роли (я думаю, это наиболее распространенная операция), это будет быстрый тест на членство.

Вы можете поместить имена ролей непосредственно в списки в виде строк или добавить уровень косвенного обращения к другому объекту, определяющий детали о роли, чтобы их было легко изменить позже. Но это требует дополнительных затрат времени выполнения на дополнительный RPC для получения сведений о роли.

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

4
ответ дан 15 December 2019 в 01:06
поделиться
Другие вопросы по тегам:

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