【发布时间】:2023-03-04 20:49:01
【问题描述】:
使用 ASP.net MVC 创建新用户时设置角色
我正在查看默认的 ASP.net MVC 2 控制器。
如何为注册方法中创建的新用户设置角色?
这是否可能只使用一个简单的属性集,还是我必须做一些特别的事情?
【问题讨论】:
使用 ASP.net MVC 创建新用户时设置角色
我正在查看默认的 ASP.net MVC 2 控制器。
如何为注册方法中创建的新用户设置角色?
这是否可能只使用一个简单的属性集,还是我必须做一些特别的事情?
【问题讨论】:
只需将下面的第二行添加到您的 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")
【讨论】:
WebSecurity.Login 之后添加了新行。 ExternalLoginConfirmation 方法也可能需要更改。