Джанго-гаурдиан или Джанго-рулез для разрешений на уровне объекта - PullRequest
0 голосов
/ 27 декабря 2011

Я нахожусь в процессе реализации пакета безопасности на уровне строк (на уровне объектов) для проекта django, над которым я работаю. Django-gaurdian и django-rulez являются наиболее активными пакетами, доступными для реализации этого.

Кто-нибудь делал сравнение двух, или вы использовали один или другой? Пожалуйста, дайте мне какие-либо отзывы о хорошем или плохом. У Django-rules есть хорошая возможность хранить некоторую информацию в памяти, чтобы минимизировать нагрузку на базу данных. Были ли у вас проблемы с этой функцией?

Заранее спасибо.

Ответы [ 3 ]

4 голосов
/ 10 октября 2012

Основное отличие состоит в том, что django-guardian поддерживает таблицу, в которую можно добавить совершенно произвольные разрешения, тогда как django-rules и django-rulez (последний является форком первого) в основном вычитают разрешение из вызовов методов (MyModel.can_edit(user)).

Оба метода имеют свои преимущества и недостатки, выбор которых зависит от вашего сценария использования:

  • Если ваши разрешения всегда можно рассчитать по некоторым другим значениям (например: «Каждый пользователь должен иметь возможность редактировать свои собственные загрузки»), тогда django-rule [s | z] будет более подходящим. Вы сэкономите накладные расходы, и вам не нужно заботиться о создании необходимых записей разрешений при создании объекта
  • Если ваши разрешения абсолютно произвольны (например, вам нужны настройки конфиденциальности в стиле Facebook для каждого отдельного объекта), тогда django-guardian будет правильным выбором.
2 голосов
/ 29 мая 2012

По состоянию на май 2012 года, кажется, что Django-Guardian поддерживается и документируется лучше, чем Django-Rulez.Это также более широко используется.Я должен был принять это решение сам, и исходя из этих факторов, я решил пойти с Джанго-Гардианом.

0 голосов
/ 28 декабря 2011

Может быть, эта сетка поможет вам сравнить их обоих:

http://djangopackages.com/grids/g/perms/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...