2014-01-21 3 views
0

Может ли кто-нибудь сказать мне лучший способ реализовать роли и безопасность в приложении ASP.NET MVC4.Роли и безопасность в ASP.NET MVC4

Я работаю над проектом MVC, и я хочу реализовать роли и безопасность в этом проекте. У меня есть определенные роли, которые я получаю из базы данных. Но я не знаю, как использовать эти роли в моем проекте. Как я могу установить соединение (в webconfig или что-то еще), из которого я могу объявить роли в методе Action, чтобы только пользователи с этими ролями могли получить доступ только к этому методу.

Как у меня есть некоторые роли: Чтение, редактирование, обновление .. Я хочу, чтобы только пользователи с ролью чтения выполняли операции чтения и другие операции соответственно в зависимости от ролей.

Я знаю, что это очень широкий вопрос. Но я просто хочу знать, как наилучшим образом использовать то, что я могу реализовать роли и безопасность в своем приложении.

Что будет шаг за шагом процесс:

мне нужно сделать какую-то связь в WebConfig, так что DataAnnotation с ролью определяется работой или что-то ..

Plz помочь мне ребята. Благодарю.

+0

Попробуйте эти ссылки http://msdn.microsoft.com/en-us/library/ff398049(v=vs.100).aspx – samar

+0

Я не использую формы. У меня есть веб-приложение Asp.net mvc4 – Vishal

+0

Ссылка указывает на аутентификацию в приложении MVC 4. Также ниже есть ссылка для управления ролью. – samar

ответ

0

Какой режим аутентификации вы используете? У аутентификации форм есть опция User.IsInRole, но для этого вам необходимо иметь Forms Authentication. User.IsInRole MSDN

Что вы можете сделать, это create different views for Details, Insert/Update, Delete. Затем на каждом контроллере вы просто разрешаете пользователям выполнять требуемые роли.

+0

Вы можете сказать мне лучший способ реализовать роли и безопасность в MVC4. Я создал пользовательский «AuthorizeAttribute», который я использую по моему методу действий. – Vishal

+1

'User.IsInRole()' также будет работать с другими механизмами аутентификации в зависимости от среды. – TGlatzer

+0

Я определил DataAnnotation в методе контроллеров.Я просто хочу знать, как наилучшим образом реализовать эти определенные роли. – Vishal

0

Я думаю, что вам на самом деле нужен RBAC.

Пользователь имеет одну или несколько ролей, и для каждой роли существует множество функций.

пользователя & Роль, один ко многим или многие ко многим
Роль & функции, многие ко многим

http://en.wikipedia.org/wiki/Role-based_access_control

Добавить AuthorizeAttribute (например: MyAuthorize) класс.

[MyAuthorize("Admin-User-Add")] 
public ActionResult Add(){} 

«Admin-User-Add» - это уникальный ключ функции «Добавить действие пользователя».

Смежные вопросы