代码之家  ›  专栏  ›  技术社区  ›  Collin Barrett

将额外信息传递给IProfileService

  •  0
  • Collin Barrett  · 技术社区  · 6 年前

    在实现IS4时,我们希望在 /Account/Login 表单(我们正在构建QuickStart UI)。这些字段(位置信息-1)建筑物和2)建筑物内的站点提供的数据需要在 IProfileService 被调用,因为它们是用于确定要在 GetProfileDataAsync() . 我们试图将数据存储在 HttpContext.Items ,但该数据丢失,因为之前发生了重定向 iPrimeService 被称为。

    对于如何将此数据传递回 iPrimeService ?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Randy    6 年前

    httpContext上的一个扩展方法signinasync允许您传递任何与登录相关的额外声明。如果在从accountcontroller调用signinasync时添加了__building__building和_building_station_作为声明,则应该能够通过httpcontext访问它。

    为此,您需要通过依赖项注入将httpContextAccessor添加到iprofileService实现中,一旦从中获取httpContext,您就应该能够在httpContext.user中找到适当的声明。