【问题标题】:asp.net core 2.1 and windows impersonation with httpclientasp.net core 2.1 和带有 httpclient 的 windows 模拟
【发布时间】:2019-01-01 07:24:29
【问题描述】:

我正在使用 asp.net core mvc 2.1,需要调用一个旧的 asp.net 4.6 webapi 端点,该端点依赖于 Windows 身份验证来验证和授权用户的调用。

这个article 详细说明了如何模拟 Windows 身份,我得到了它的工作...但是该页面上的下一句话也说

请注意,RunImpersonated 不支持异步操作和 不应该用于复杂的场景。例如,包装整个 请求或中间件链不支持或不推荐

我的问题:

如果它“不应该使用”,那么在 Windows 域中进行呼叫时模拟用户的首选方式是什么?在 asp.net 框架中,您可以简单地将 <identity impersonate="true" /> 节点添加到 web.config

【问题讨论】:

  • 传出请求并不是一个复杂的场景,您还期望得到什么样的答案?你说你有它的工作。
  • @HenkHolterman 感谢您抽出宝贵时间回复... 1:我期待“什么是首选方式”这个问题的答案。 2:我认为“复杂场景”有点模糊,虽然我同意你的观点,但简单的 _httpClient.GetStringAsync("/api/program").Result 对我来说听起来并不复杂。 3. 我已经做了足够长的时间来知道“它在我的机器上工作”不是部署后的借口。如果答案是“不,那是首选”,我非常愿意接受。谢谢
  • impersonate a windows identity 在 asp.net core 中没有其他解决方案。如果您需要impersonate,这是目前唯一的方法。
  • 感谢@TaoZhou,添加为答案,以便我给予信任
  • @kevcoder 我完全同意你的观点,你有没有找到解决这个问题的受支持的解决方案?

标签: c# asp.net-core-mvc asp.net-core-2.1


【解决方案1】:

来自评论的解决方案:

没有其他解决方案可以在 asp.net 核心中模拟 Windows 身份。如果您需要模拟,这是目前在 asp.net 核心中的唯一方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-08
    • 2019-01-23
    • 2021-01-26
    • 2021-02-25
    • 2020-03-22
    • 2019-02-15
    • 2019-03-12
    • 2018-11-17
    相关资源
    最近更新 更多