我有一个使用个人帐户的.NET Web API项目。我可以使用标准模板AccountController很好地注册用户。但是,我现在要设置角色,并根据用户类型将用户添加到角色中。
数据库中没有自动设置的角色。如何设置角色以及如何向角色添加用户?
我可以找到的唯一信息是基于旧的ASP.NET成员资格的,因此,由于没有为其设置存储过程,因此它失败了。
在MSDN上搜寻过论坛和教程,但似乎找不到Web API的示例。
您可以使用RoleManager添加角色...
using (var context = new ApplicationDbContext())
{
var roleStore = new RoleStore<IdentityRole>(context);
var roleManager = new RoleManager<IdentityRole>(roleStore);
await roleManager.CreateAsync(new IdentityRole { Name = "Administrator" });
var userStore = new UserStore<ApplicationUser>(context);
var userManager = new UserManager<ApplicationUser>(userStore);
var user = new ApplicationUser { UserName = "admin" };
await userManager.CreateAsync(user);
await userManager.AddToRoleAsync(user.Id, "Administrator");
}
您说对了,现在文档还不错。但是我发现,一旦与RoleManager和UserManager进行了一些接触,API就会很容易被发现(但可能并不总是直观的,有时您必须直接针对存储甚至是db上下文运行查询)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句