asp.net – 在新的VS 2013 Identity UserManager中动态添加角色
发布时间:2020-05-23 21:46:05 所属栏目:asp.Net 来源:互联网
导读:我在新的VS2013 IDE中创建了一个新的MVC应用程序.我在AccountController上的Login Action中添加了以下内容,因为我想动态创建一个默认用户: var admin = new ApplicationUser() { UserName = administrator };var result = UserManager.Create(admin, admini
|
我在新的VS2013 IDE中创建了一个新的MVC应用程序.我在AccountController上的Login Action中添加了以下内容,因为我想动态创建一个默认用户: var admin = new ApplicationUser() { UserName = "administrator" };
var result = UserManager.Create(admin,"administrator");
这很好用,然后我想把这个默认用户放到一个新的默认角色: user = UserManager.FindByName("administrator");
var roleresult = UserManager.AddToRole(user.Id,"admin");
第二行错误,因为它显然找不到角色“admin”,因为它还不存在,但我找不到UserManager上的相关方法.我在哪里可以找到动态添加角色的方法? 解决方法我是这样做的.我有一个字典userRoles与预授权{userName,role}键 – 值对:private void setRoles()
{
using(var rm = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new ApplicationDbContext())))
using(var um = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())))
foreach (var item in userRoles)
{
if (!rm.RoleExists(item.Value))
{
var roleResult = rm.Create(new IdentityRole(item.Value));
if (!roleResult.Succeeded)
throw new ApplicationException("Creating role " + item.Value + "failed with error(s): " + roleResult.Errors);
}
var user = um.FindByName(item.Key);
if (!um.IsInRole(user.Id,item.Value))
{
var userResult = um.AddToRole(user.Id,item.Value);
if (!userResult.Succeeded)
throw new ApplicationException("Adding user '" + item.Key + "' to '" + item.Value + "' role failed with error(s): " + userResult.Errors);
}
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 从页面到局部视图的asp.net mvc参数
- asp.net-mvc – 如何阻止ASP.Net MVC Html.ActionLink使用现
- asp.net – global.asax断点未命中
- asp.net – 发送多个模型以查看MVC 4
- 从asp.net mvc生成PDF文件
- asp.net-mvc – 部署的ASP.NET MVC 4项目不会运行
- asp.net – 发布网站时,我的默认文档名称不断从IIS中删除
- asp.net – 当.resx文件更改时,App域重新启动.有什么办法可
- asp.net-mvc – ViewBag vs Model,在MVC.NET中
- 在ASP.NET中使用回发的jQuery模态对话框
推荐文章
站长推荐
- asp.net – 如何在没有查找AspNetUserRoles表的情
- .net – App_LocalResources如何使用MVC?
- asp.net-core – 对Post请求的两次调用:使用htt
- asp.net-mvc – 可以为MVC Razor Layout指定可搜
- asp.net-mvc-3 – MVC3和认证
- asp.net-mvc – asp.net mvc针对不同操作的不同验
- 在Asp.net mvc5中使用用户名而不是电子邮件身份
- asp.net – ExecuteScalar抛出NullReferenceExce
- ViewState在ASP.NET MVC中是否相关?
- asp.net – .NET – 如何调试DLL?
热点阅读
