如何通过角色获取用户
问题描述:
var usersFilterRoles = from u in dataContext.aspnet_Users
join p in dataContext.Partners on u.UserId equals p.Id
where u.aspnet_Roles.Contains(roles)
无法使用。 角色 - 我角色ID或nameRole如何通过角色获取用户
我需要,为什么不使用System.Web.Security.Roles角色
答
获得用户?
using System.Web.Security;
namespace App.SomeName
{
public class YourClass
{
public void GetUsers(){
string[] users = Roles.GetUsersInRole("MyRole");
}
}
}
这是你想要做的吗?
答
使用Roles.GetUsersInRole方法获取所有用户名,如果你需要更多的信息,然后使用Membership.GetAllUsers()从Membership
让所有的用户和使用LINQ或loop
通过MembershipUserCollection从返回MembershipUserCollection
要么检索角色的用户,并添加到自定义集合;你最喜欢哪种方法。
MembershipUserCollection users;
string[] usersInRole;
rolesArray = Roles.GetAllRoles();
users = Membership.GetAllUsers();
检查GetUsersIndRole
方法的链接示例来清除逻辑。
预期LINQ查询:
string[] usersInRole = Roles.GetUsersInRole("Role");
var users = DataContext.AspnetUsers.Where(usr => usersInRole.Contains(usr.LoweredUserName));
按照这些教程和链接与会员的工作。
ASP.NET's Membership, Roles, and Profile
How do you manage asp.net SQL membership roles/users in production?
答
如果要通过角色在LINQ to得到用户:
var userRoleQuery = from anu in context.AspNetUsers
where anu.AspNetRoles.Any(r => r.Id == roleId)
select anu.Id
没有,我需要从数据库 –
我已经更新了答案查询经过测试的结果..检查它 –
如果我需要得到“用户” “管理员”?我需要加入合作伙伴 –