检索具有所有导航属性的标识用户



我正在使用ASP.NET Web Api Core身份验证,并在某个时候处理用户数据:

var user = await _userManager.GetUserAsync(HttpContext.User);
...
var userLogins = await _userManager.GetLoginsAsync(user);
...
var userClaims = await _userManager.GetClaimsAsync(user);
...

问题是GetUserAsync没有加载导航属性,所以我必须在之后手动加载它们。有没有办法在不直接通过DataContext检索用户对象的情况下修复它?

我最终创建了一个过滤器,该过滤器使用包含的所有导航属性查询用户并将其存储到HttpContext.Items(每个查询集合)。

与其使用 ASP.NET 核心身份,您是否探索过类似cookie中间件的选项?

您可以使用 .Includes() 运行自己的查询并获取导航属性,然后构建自己的ClaimsPrincipal

相关内容

  • 没有找到相关文章

最新更新