Как добавить роли с помощью MVC 4 и forms auth?
Пытаясь понять, как я должен использовать MVC 4 (VS 2013) с Forms Auth. Вот шаги, которые я предпринял
1. Создайте новый проект ASP .Net MVC 4 > Интернет-приложение (по умолчанию ASP.NET проект MVC 4 с контроллером учетных записей, использующим аутентификацию форм.).
2. Запустите приложение и все запуски. Я создаю пользователя, используя общедоступную ссылку /учетная запись/Регистрация
3. Код, который побежал создал 4 таблицы. webpages_Membership, webpages_OAuthMembership, webpages_Roles, webpages_UsersInRoles. Я вижу свое имя Пользователя, указанное в 1 таблице, и соответствующую информацию в другой. Ничего В ролях.
Я хотел бы добавить роль и ограничить ссылку на регистр одной группой. Если пользователь приходит на страницу регистрации и не входит в группу, он получает сообщение об ошибке.
Я попытался добавить [Authorize(Roles="Admin")] к одному из методов, найденных в разделе automatic class generated AccountController, но это не решило проблему.
Тогда я рассматривал возможность добавления роли вручную, но я не знаю, правильно ли это, или мне нужно изменить файл web.config (это, кажется, рекомендуется для webforms, но не смог найти ничего, чтобы предположить, что это нормально для MVC).
Может ли кто-нибудь помочь мне добавить роль и связать ее с пользователем? Я создал этот базовый проект, чтобы расширить его, поэтому, идя дальше, я бы внес аналогичные изменения.
Что я уже пробовал:
Я попытался добавить [Authorize(Roles="Admin")] к одному из методов, найденных в разделе automatic class generated AccountController, но это не решило проблему.
Тогда я рассматривал возможность добавления роли вручную, но я не знаю, правильно ли это, или мне нужно изменить файл web.config (это, кажется, рекомендуется для webforms, но не смог найти ничего, чтобы предположить, что это нормально для MVC).
Richard Deeming
Если страница "регистрация" предназначена для новых, незарегистрированных пользователей, чтобы создать учетную запись, то как бы вы ограничили ее пользователями в определенной роли? Пользователь еще не прошел проверку подлинности, поэтому он не может быть членом каких-либо ролей.
Что вы используете для управления членством? На протяжении многих лет Microsoft выпускала несколько различных систем аутентификации/авторизации, и ответ на ваш вопрос будет отличаться для каждой из них.