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

IIS如何通过Active Directory验证反向代理后站点的用户凭据

IIS对接Active Directory实现登录校验的可行方案

不需要完全从零开发,可通过IIS内置能力+轻量开发实现需求,具体思路如下:

方案1:基于.NET内置AD校验接口实现(推荐,开发量最小)

  • 若使用ASP.NET Framework:直接引用内置命名空间System.DirectoryServices.AccountManagement,在登录接口的POST请求处理逻辑中,获取用户提交的用户名、密码参数,调用PrincipalContext.ValidateCredentials()方法即可完成AD身份校验,无需开启IIS的Windows身份认证功能,仅需给站点对应的应用程序池身份配置AD普通查询权限即可。校验通过后自行生成Cookie存储用户身份信息,后续请求校验Cookie有效性即可完成鉴权。
  • 若使用ASP.NET Core:安装System.DirectoryServices.AccountManagement官方NuGet包,后续逻辑和ASP.NET Framework完全一致。

方案2:IIS自定义HTTP模块实现(无需修改现有业务代码)

  • 开发轻量IIS HTTP模块,拦截登录接口的POST请求,提取请求中携带的用户名、密码参数,调用AD接口完成校验,校验通过后向响应写入身份Cookie,后续请求由该模块直接校验Cookie有效性即可。
  • 配置时仅需在IIS对应站点的「模块」功能中添加开发完成的自定义模块,关闭默认的Windows认证、表单认证即可,不会对现有nginx反向代理配置产生任何影响。

注意事项

  • 携带用户凭据的请求必须走HTTPS协议,避免凭据明文泄露
  • 应用程序池运行身份仅分配AD普通查询权限即可,不要配置过高权限,降低安全风险
  • 身份Cookie必须开启HttpOnly、Secure属性,设置合理的过期时间,避免身份被盗用

内容的提问来源于stack exchange,提问作者Alex Ilyin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:06:05