【问题标题】:Retrieve identity user with all navigation properties检索具有所有导航属性的身份用户
【发布时间】:2017-01-28 07:30:30
【问题描述】:

我正在使用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 检索用户对象的情况下修复它?

【问题讨论】:

  • 您可以直接从 ClaimsPrincipal 获得索赔,但对于其他一切,我认为您需要自己处理查询

标签: .net asp.net-core asp.net-identity


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    除了使用 ASP.NET Core Identity,您是否探索过类似 cookie middleware 的选项?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-03
      • 2016-10-10
      • 1970-01-01
      • 2012-08-25
      • 2018-12-03
      • 1970-01-01
      相关资源
      最近更新 更多