Управление авторизацией / областью действия в веб-приложении - PullRequest
4 голосов
/ 07 февраля 2011

Каждая дискуссия или учебник по авторизации, которые я когда-либо встречал, касалась только простой бинарной авторизации.Может ли пользователь редактировать страницы в приложении для ведения блога?Может ли пользователь одобрить комментарии?Простые примеры, подобные этому.

То, что я не видел много, - это более сложные примеры авторизации на основе "области видимости".Может ли пользователь редактировать эту страницу?Может ли пользователь одобрить этот комментарий?... где у пользователя есть разрешение на выполнение действий с определенными записями, но не со всеми.

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

FWIW, текущее приложение, с которым я имею дело, это сборка в Python Pylons.

Ответы [ 2 ]

1 голос
/ 07 февраля 2011

Я видел, что это сделано двумя способами:

  1. В модели с расширенным доменом изменяемый объект может выполнять проверку безопасности (объект может быть переведен в режим только для чтения, когда пользовательне был авторизован для его редактирования, и, например, выдает исключение).
  2. В модели с анемичной областью проверка выполняется службой, работающей над объектом (или сотрудничающей службой безопасности).

Оба подхода требовали работы.

1 голос
/ 07 февраля 2011

Да, я иногда сталкиваюсь с этим. Вы можете посмотреть, есть ли в Python что-то похожее на GACL, которое есть в PHP. Но это может быть излишним.

Если вы часто сталкиваетесь с этим, я бы внедрил ACL и просто использовал его повторно. Конечно, вы используете ту же платформу.

...