You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Framework中AddMicrosoftIdentityWebApiAuthentication等效替代方案咨询

.NET Framework中AD服务间认证的等效方案

对于.NET Framework的Web API,对应的等效方案是使用OWIN中间件结合Microsoft.Owin.Security.ActiveDirectory包实现Azure AD(或本地AD)的认证,具体实现步骤如下:

1. 安装必要NuGet包

需要安装以下核心包:

  • Microsoft.Owin.Security.ActiveDirectory
  • Microsoft.Owin.Host.SystemWeb(用于将OWIN集成到IIS托管的Web API)
  • Owin

2. 配置OWIN启动类

在项目中添加OWIN启动类(通常命名为Startup.cs),配置JWTBearer认证逻辑,示例代码:

using Microsoft.Owin;
using Microsoft.Owin.Security;
using Microsoft.Owin.Security.ActiveDirectory;
using Owin;
using System.Configuration;
using System.IdentityModel.Tokens;

[assembly: OwinStartup(typeof(YourApiNamespace.Startup))]
namespace YourApiNamespace
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            var issuer = ConfigurationManager.AppSettings["AzureAd:Issuer"];
            var audience = ConfigurationManager.AppSettings["AzureAd:Audience"];

            app.UseJwtBearerAuthentication(new JwtBearerAuthenticationOptions
            {
                AuthenticationMode = AuthenticationMode.Active,
                TokenValidationParameters = new TokenValidationParameters
                {
                    ValidIssuer = issuer,
                    ValidAudience = audience,
                    ValidateIssuer = true,
                    ValidateAudience = true,
                    ValidateLifetime = true,
                    ValidateIssuerSigningKey = true
                },
                BackchannelCertificateValidator = new CertificateValidator()
            });
        }
    }
}

3. 配置Web.config参数

在Web.config的<appSettings>节点添加AD相关配置项:

<appSettings>
  <add key="AzureAd:Issuer" value="https://login.microsoftonline.com/{你的租户ID}/v2.0" />
  <add key="AzureAd:Audience" value="{你的API应用ID URI}" />
</appSettings>

4. 保护API资源

在需要认证的控制器或Action上添加[Authorize]特性,和.NET Core中的用法一致:

using System.Web.Http;

[Authorize]
public class ValuesController : ApiController
{
    // 你的API业务方法
}

关键说明

  • 该方案和.NET Core中AddMicrosoftIdentityWebApiAuthentication的核心逻辑一致:验证AD颁发的JWT令牌,实现服务间身份认证。
  • 如果使用本地AD(而非Azure AD),需调整Issuer配置并结合ADFS获取JWT令牌,验证逻辑需适配本地AD的签发规则。
  • 服务间调用的流程和.NET Core场景完全相同:调用方从AD获取JWT令牌,在请求头中携带Authorization: Bearer {token}即可完成认证。

内容的提问来源于stack exchange,提问作者Lev Kostychenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 09:58:16