使用ASP.net MVC创建新用户时设置角色

Mae*_*024 11 asp.net roles

使用ASP.net MVC创建新用户时设置角色

我正在查看默认的ASP.net MVC 2控制器.

如何为在Register方法中创建的新用户设置角色?

这可能只是一个简单的属性集或我必须做一些特别的事情?

ant*_*ode 28

只需将下面的第二行添加到AccountController中:

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

编辑:如果您尚未创建角色(您只需要执行一次.),它将导致异常.

只需将代码放在AddUserToRole方法的上方.

    if (!Roles.RoleExists("RoleNameHere"))
        Roles.CreateRole("RoleNameHere")
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你,它帮助了我.如果有人可以更新ASP.NET MVC 4的答案,因为帐户控制器模板已更改,这将是一件好事.我在Register方法中调用`WebSecurity.Login`之后就把新行放入了.`ExternalLoginConfirmation`方法也可能需要更改. (2认同)