[英]How can I setup identity in Asp.Net Core 2.0 Target Framework 4.6.1 using Asp.Net.Identity and Entity Framework 6?
[英]How to determine if a user belongs to a certain group using ASP.Net Identity Framework 2.0
使用新的ASP.Net Identity Framework 2.0,我试图确定属于某个组的用户列表。
UserManager和RoleManager已正确实例化,调试时我获得了正确的信息,但我不知道如何使用user.Roles.Contains。
var _listAllUsers = UserManager.Users.ToListAsync().Result;
//var _allUsers = UserManager.Users;
var roleToMatch = RoleManager.FindByNameAsync("MyUserManager").Result;
foreach (var user in _listAllUsers){
var _listGroupAdminCat = user.Roles.Contains((IdentityUserRole)roleToMatch);
}
我在语法中缺少一些东西。
首先获取您的IdentityRole
对象:
var role = RoleManager.FindByName("MyUserManager");
然后让用户担任该角色:
var usersInRole = role.Users;
您的问题标题虽然是一个稍微不同的问题,但如何确定用户是角色。 为此,使用UserManager
是这样的:
int userId = 5;
string roleToCheck = "MyRole";
bool userIsInRole = userManager.IsInRole(5, roleToCheck );
还值得注意的是,在您发布的代码中,您错误地使用了异步函数。 可以将它们与await
关键字一起使用,也可以使用同步版本:
var roleSynchronously = RoleManager.FindByName("MyUserManager");
var roleAsynchronously = await RoleManager.FindByNameAsync("MyUserManager");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.