1

我使用了https://github.com/rustd/AspnetIdentitySample中给出的示例来创建自定义用户配置文件数据。

但是,我不确定如何在注册时为新注册的用户分配角色。看起来它使用 .net 4.5 基于声明的角色。它还使用 Code First - 迁移并创建必要的成员表,如角色、用户角色。

我希望向 Roles 表添加一个新角色,并将该角色分配给一个新用户,并在 UserRoles 表中添加一个条目。

非常感谢您的帮助。

4

3 回答 3

0

var rm = new RoleManager(new RoleStore(newApplicationDbContext()));

rm.Create(new IdentityRole("Admin"));

rm.Create(new IdentityRole("Finance"));

UserManager.AddToRole(user.Id, "Admin");

于 2014-01-25T11:54:41.720 回答
0

例如,如果你想创建角色并添加新用户,你可以修改你的注册方法如下:

[HttpPost]
        [AllowAnonymous]
        [ValidateAntiForgeryToken]
        public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
                    WebSecurity.Login(model.UserName, model.Password);

                        Roles.CreateRole("Role A");// add "Role A"
                        Roles.AddUserToRole(model.UserName, "Role A"); // user in role A 


                    return RedirectToAction("Index", "Home");
                }
                catch (MembershipCreateUserException e)
                {
                    ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
                }
            }
            return View(model);
        }
于 2013-08-16T20:41:02.773 回答
0

试试 IdentityConfig.Roles.AddUserToRole?确保角色位于 DefaultConnection 的 Role 表中。我假设您正在研究他们在今年夏天 BUILD 之前在那次会议上发布的演示?我相信安德烈的答案依赖于旧的会员系统,带有网络配置实用程序?

于 2013-09-06T16:29:58.083 回答