Я создаю приложение интрасети ASP.NET MVC3 с Проверка подлинности Windows. Я хочу, чтобы пользователи домена использовали это приложение. Как только пользователь домена аутентифицируется (с Active Directory), я планирую создавать пользователей (с именем пользователя AD), Роли & Таблицы UserRoles в SQL Server для авторизации.Как использовать настраиваемую авторизацию на основе ролей с помощью проверки подлинности Windows в ASP.NET MVC3?
Так что, если пользователь является частью роли, имеющей некоторый набор разрешений (для доступа к контроллерам/действиям), я должен разрешать только пользователям в этой роли выполнять/просматривать их.
Например: если есть действие/Места/Создать, роли, которым разрешено выполнять это, могут только это сделать.
Может ли кто-нибудь дать мне несколько указателей? Должен ли я создать настраиваемый фильтр действий и использовать атрибут фильтра для любого метода действий, к которому я хочу применить фильтр?
Спасибо @autonomatt. Поскольку я предпочитаю использовать собственную структуру таблиц для «Пользователи/Роли» в SQL Server, а не для членства, ролей и профиля ASP.NET, должен ли я реализовать пользовательский поставщик членства? Является ли [this] (http://msdn.microsoft.com/en-us/library/f1kyba5e%28v=vs.100%29.aspx) статьей хорошим способом? –
Вот что я сделал. При исследовании я столкнулся с множеством сообщений, которые говорят то же самое. Использование структуры таблицы MS не рекомендуется. Главным образом из-за того, как он хранит определенные данные, что очень затрудняет запрос. Я использую NHibernate на моем уровне доступа к данным и создал пользовательский поставщик членства NHibernate. [Эта статья] (http://www.codeproject.com/Articles/55174/Custom-Fluent-Nhibernate-Membership-and-Role-Provi) помогла мне. И [эта статья Маурисио Схеффера] (http://bugsquash.blogspot.com/2010/11/windsor-managed-membershipproviders.html) несколько связана, если вы хотите использовать IoC. – autonomatt
Спасибо @autonomatt –