Установка роли при создании нового пользователя с помощью ASP.net MVC

Установка роли при создании нового пользователя с помощью ASP.net MVC

Я смотрю на контроллер ASP.net MVC 2 по умолчанию.

Как установить роль для нового пользователя, созданного в методе регистрации?

Возможно ли это с помощью простого набора свойств или мне нужно сделать что-то особенное?


person Maestro1024    schedule 31.03.2011    source источник


Ответы (1)


Просто добавьте вторую строку ниже в ваш AccountController:

if (createStatus == MembershipCreateStatus.Success)
{
    FormsService.SignIn(model.UserName, false /* createPersistentCookie */);
    Roles.AddUserToRole(model.UserName, "RoleNameHere");
    return RedirectToAction("Index", "Home");
}

РЕДАКТИРОВАТЬ: Если вы еще не создали роль (вам нужно сделать это только один раз), это вызовет исключение.

Просто поместите приведенный ниже код над методом AddUserToRole.

    if (!Roles.RoleExists("RoleNameHere"))
        Roles.CreateRole("RoleNameHere")
person anthonyvscode    schedule 31.03.2011
comment
спасибо за это, это помогло мне. Было бы хорошо, если бы кто-нибудь мог обновить этот ответ для ASP.NET MVC 4, так как шаблон accountcontroller изменился. Я добавляю новые строки сразу после вызова WebSecurity.Login в методе Register. Также может потребоваться изменение метода ExternalLoginConfirmation. - person Mark Heath; 08.10.2012