Я пишу сайт в MVC3, используя Entity (связанный с Postgres, но не уверен, что часть имеет отношение.Фильтрация данных с помощью прав доступа Пользователя
Пользователь является частью ряда «лиг», и создает «событие» против одной из этих лиг.
будут другие пользователи, которые имеют доступ к этой лиге, и когда они отправятся на просмотр списка событий, мне нужен список, чтобы отображать только те «события», которые являются частью «лиг», к которым у них есть доступ.
Теперь существует множество способов, которыми это может быть достигнуто, но я ищу самые элегантные и общепринятые для быть «правильным способом».
В настоящее время отношения пользователя -> лиги хранятся в том же месте, что и остальные данные, поэтому я могу просто фильтровать лиги без проблем. Моя проблема в том, что я не уверен, должен ли я получать доступ к HttpContext, чтобы заставить userId на уровне репозитория выполнять фильтрацию.
Если я не делаю вышеизложенного, я рассматривал возможность использования функции RoleMembership и создания лиг, ролей, а затем для ее создания встроены функции.
Вопрос в том, что лучше всего подходит для фильтрации данных результатов пользователем Доступ в MVC3/Entity?
Блоги/Учебник ссылки являются предпочтительными, но полные ответы также могут быть приняты ...
Я использую Ninject для DI, так что это не проблема. Я все еще не уверен, где применяется фильтр ... можете ли вы расширить это? – Martin
@Martin Я добавил приблизительный эскиз того, что я имел в виду, надеюсь, это поможет. Ключевой момент, который я пытаюсь сделать, - не смешивать зависимость роли в репозитории и никогда не кодировать напрямую против HttpContext, а против зависимости, которую вы определяете. – McGarnagle