我正在使用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
检索用户对象?
答案 0 :(得分:1)
我最终创建了一个过滤器,用于查询包含所有导航属性的User,并将其存储到HttpContext.Items(每个查询集合)。
答案 1 :(得分:0)
不是使用ASP.NET核心标识,而是使用cookie middleware?
等方法探索了选项您可以使用.Includes()
运行自己的查询并获取导航属性,然后构建自己的ClaimsPrincipal
。