【问题标题】:ASP.NET WebAPI authentication over two separate sites通过两个独立站点进行 ASP.NET WebAPI 身份验证
【发布时间】:2015-01-27 14:17:44
【问题描述】:

我们的情况:

  • 1 个运行 Umbraco CMS 的 IIS 网站,基于 WebAPI v1 - www.somesite.com
  • 1 IIS 网站运行 WebAPI v2 - api.somesite.com

我们需要这两个独立的站点,因为我们的 API 逻辑是基于 WebAPI v2 构建的,我们不想仅仅因为 Umbraco 使用与新版本不兼容的旧版本而编写单独的 v1 API(感谢微软) .

在站点 1 上,我们想要访问在站点 2 上运行的 API。站点 2 上的某些 API 方法需要使用 [Authorize] 属性进行身份验证。 同时针对站点 1 和站点 2 对用户进行身份验证的正确方法是什么?

【问题讨论】:

  • 听起来你的建筑师需要被解雇,为什么有人会在调查这些问题之前做出这样的决定?
  • 如果您阅读该帖子,您就会知道原因。这是一种假设情况,而不是实际实现的解决方案。很明显。

标签: asp.net authentication asp.net-web-api


【解决方案1】:

为什么不使用可以包含在请求的授权标头中的基于声明的身份验证令牌。如果您在 HTTP 上发出请求,那么一定要考虑加密令牌。即使您仅通过 SSL 使用它,我也不建议使用基本身份验证,但这也是一种选择。

在站点 2 上,您可以使用自定义授权过滤器或委托处理程序来提取和解析令牌并设置上下文的当前用户和主体。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    相关资源
    最近更新 更多