2013-08-21 3 views
1

Я пытаюсь реализовать защиту на основе ролей в своем приложении MVC4, чтобы некоторые действия контроллера были заблокированы для членов не admin. Я нашел эту страницу информации на MSDN: http://msdn.microsoft.com/en-us/library/5k850zwb%28v=vs.100%29.aspxMVC4 Роли Группы проверки подлинности

Может кто-нибудь сказать мне, где бы лучшее место для больших админ самой группы, используя следующую строку:

Roles.CreateRole("Admin"); 

Я знаю, что я хочу, чтобы проверить мой пользователь таблицу базы данных и проверьте столбец IsAdmin в индексе Home Controller Index, но я не уверен, где создать собственно роль администратора. Любая помощь будет принята с благодарностью.

ответ

1

Просто добавьте его вручную в таблицу webpages_Roles вашей базы данных.

Если вы хотите сделать это программно, добавьте его в файл InitializeSimpleMembershipAttribute.cs в папку Filters, ниже folloing линии:

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);   

// here it REALLY is...! 
if (!Roles.RoleExists("Admin")) 
    Roles.CreateRole("Admin"); 
+0

Привет Амин, я пытался ваше предложение, но теперь я получаю следующее сообщение об ошибке : Этот метод можно вызвать только во время фазы инициализации перед запуском приложения. Используйте PreApplicationStartMethodAttribute, чтобы объявить метод, который будет вызван на этой фазе. – Jay

+1

@Jay - О! ты прав...! Дайте мне несколько минут ... – AminSaghi

+0

К сожалению, я все еще получаю такую ​​же ошибку :( – Jay

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