在asp.net identity 2.0中获取分配角色的用户列表
|
我有一个下拉列表框列出了角色。我想获得具有该角色的用户列表。我的意思是“管理员”角色或“CanEdit”角色的用户列表。这里是我的代码: public IQueryable<Microsoft.AspNet.Identity.EntityFramework.IdentityUser> GetRolesToUsers([Control]string ddlRole)
{
//ddlRole returns role Id,based on this Id I want to list users
var _db = new ApplicationDbContext();
IQueryable<Microsoft.AspNet.Identity.EntityFramework.IdentityUser> query = _db.Users;
if (ddlRole != null)
{
//query = query.Where(e => e.Claims == ddlRole.Value); ???????
}
return query;
}
请帮忙。 更新代码(仍然错误) public List<IdentityUserRole> GetRolesToUsers([Control]string ddlRole)
{
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new ApplicationDbContext()));
var users = roleManager.FindByName("Administrator").Users.ToList();
return users;
}
错误:当ItemType设置为“Microsoft.AspNet.Identity.EntityFramework.IdentityUser”时,选择方法必须返回“IQueryable”或“IEnumerable”或“Microsoft.AspNet.Identity.EntityFramework.IdentityUser”之一。 我尝试过各种铸件,但没有一个帮助。 更新(工作方案) 感谢chris544,他的想法帮助我解决了这个问题。这里是工作方法: public List<ApplicationUser> GetRolesToUsers([Control]string ddlRole)
{
var context = new ApplicationDbContext();
var users = context.Users.Where(x => x.Roles.Select(y => y.RoleId).Contains(ddlRole)).ToList();
return users;
}
解决方法不是专家,但…在身份识别中似乎没有建立这种功能,我无法从内置的角色中获得它的工作(它似乎不适用于基于声明的身份)。 所以我最终做了这样的事情: var users = context.Users
.Where(x => x.Roles.Select(y => y.Id).Contains(roleId))
.ToList();
> x.Roles.Select(y => y.Id)获取用户X的所有角色ID的列表> .Contains(roleId)检查此id列表是否包含必需的roleId (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 避免表格重新提交
- asp.net-web-api – OData V4 WebAPI按Enum的Int值过滤?
- asp.net – Web.config加密错误
- asp.net – 如何正确地大写希腊字在.NET?
- ASP.NET Response.Cache.SetNoStore()与Response.Cache.Set
- 部署 – kestrel-hellomvc.service:步骤USER产生失败/usr/
- asp.net – 如何快速进行HTML渲染
- asp.net – ‘检测到Autofac循环组件依赖性’错误
- ASP.NET HttpApplication.EndRequest事件未被触发
- ADO.NET读书笔记系列
