Лучшее решение для функциональных разрешений в многосайтовом приложении django - PullRequest
0 голосов
/ 28 октября 2010

У меня есть два сайта, использующие один и тот же базовый код. У каждого сайта свои требования, которые могут видеть разные типы пользователей. Например, на одном сайте говорится, что любой может просматривать страницу «Новости», а на другом - только зарегистрированные пользователи со значением в профиле пользователя «Менеджер» могут видеть новости.

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

  • Я не могу удалить новости из urls.py потому что у меня нет значения запроса в точке
  • Я мог бы написать кастом декоратор для представления, которое обращается модель или значение настроек для определить, есть ли у текущего пользователя доступ
  • Я мог бы что-то сделать в промежуточное программное обеспечение?
  • Или там может быть лучшее решение?

1 Ответ

0 голосов
/ 03 ноября 2010

Итак, в конце пошёл пользовательский декоратор, который запрашивает значение в SETTINGS.

...