获取某个索赔的所有用户

本文关键字:用户 获取 | 更新日期: 2023-09-27 18:26:34

对于ASP.NET Identity 2.0:

有人知道如何获得"指定索赔的所有用户"吗?

假设我有一个索赔,类型="ArticleId",值="1"。

如何获取所有拥有此声明的用户?我真的想不通。。所以,谢谢你的帮助!!

获取某个索赔的所有用户

检查这个。

var userContext = new ApplicationDbContext();
var users = userContext.Users.ToList(); Or 
var users = UserManager.Users.ToList();
var userfilter = users.Where(u => u.Claims.Any(t => t.ClaimType == "ArticleId" && t.ClaimValue == "1"));

最好使用此处所述的方法UserManager<TUser>.GetUsersForClaimAsync(Claim):https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.identity.usermanager-1.getusersforclaimasync?view=aspnetcore-7.0

使用单独的上下文来操作用户、角色和声明是不好的做法,因为这可能会干扰EF跟踪。