asp.net – 在新的VS 2013 Identity UserManager中动态添加角色
发布时间:2020-12-16 00:08:13 所属栏目:asp.Net 来源:网络整理
导读:我在新的VS2013 IDE中创建了一个新的MVC应用程序.我在AccountController上的Login Action中添加了以下内容,因为我想动态创建一个默认用户: var admin = new ApplicationUser() { UserName = "administrator" };var result = UserManager.Create(admin,"admi
我在新的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 – Html.DropDownList – 值未
- asp.net – 身份使用Web API授权属性角色
- ASP.NET在文本框中显示列表框中的选定项目
- asp.net-mvc – 我的字体没有在print preview stimulsoft中
- .Net Core微服务入门全纪录(三)——Consul-服务注册与发现
- asp.net-mvc – ASP.NET MVC – 构建URL或链接的HTML扩展方
- asp.net-mvc – 我如何从MVC3 Razor Controller调用webserv
- Asp.net SignalR 应用并实现群聊功能 开源代码
- asp.net – 在为app_offline.htm提供特定URL时,将http状态5
- asp.net – 在没有完全回发的情况下,在AJAX更新面板中上传文