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

.NET Core 3.1 Razor Pages Windows认证如何改用LDAP 636端口

解答

你不需要重写整套自定义认证逻辑,根据你的需求可以选择两种方案实现:要么配置内置Windows认证逻辑走636端口LDAPS,要么直接关闭LDAP查询从认证票据直接取用户信息。

为什么访问User.Identity.Name会触发389端口LDAP请求

  • Windows认证(NTLM/Kerberos)的核心校验流程本身不走LDAP协议,User.Identity.Name的原始值直接来自认证阶段的安全票据,不需要查询AD。
  • 你抓包看到的389端口LDAP请求,是.NET Core Windows认证组件默认的补充逻辑触发的:组件拿到用户名后,会自动连域控查询用户的扩展claim(显示名、邮箱、组信息等),默认连接走未加密的389端口LDAP。

方案1:配置内置LDAP查询走636端口LDAPS

如果你需要保留自动拉取用户AD扩展信息的能力,不需要重写认证逻辑,只需要在Negotiate认证配置中显式指定LDAP连接参数即可:

// 在Startup.cs的ConfigureServices方法中配置
services.AddAuthentication(NegotiateDefaults.AuthenticationScheme)
    .AddNegotiate(options =>
    {
        options.Events = new NegotiateEvents
        {
            OnCreatingLdapContext = context =>
            {
                // 强制指定LDAPS端口636,启用SSL加密
                context.Connection.Port = 636;
                context.Connection.SessionOptions.SecureSocketLayer = true;
                // 若内部域控用私有CA签发证书,可按需调整证书校验规则,生产环境不建议直接跳过校验
                context.Connection.SessionOptions.VerifyServerCertificate = (conn, cert) => true;
                return Task.CompletedTask;
            }
        };
    });

如果你业务代码中还有手动查询AD的逻辑,构造目录项时需要显式指定LDAPS协议和端口:

// 注意路径前缀为LDAPS://,显式带636端口
var adEntry = new DirectoryEntry("LDAPS://你的域控全域名:636", "绑定账号", "绑定密码");

配置完成后所有AD相关查询都会走636加密端口,不会再发起389端口的明文LDAP请求。

方案2:关闭LDAP查询,直接从认证票据取用户名

如果你不需要额外拉取AD中的用户扩展信息,只需要拿到当前登录的用户名,可以直接关闭内置的LDAP claim查询逻辑,访问User.Identity.Name时不会触发任何LDAP请求:

services.AddAuthentication(NegotiateDefaults.AuthenticationScheme)
    .AddNegotiate(options =>
    {
        options.Events = new NegotiateEvents
        {
            OnRetrieveLdapClaims = context =>
            {
                // 跳过所有LDAP查询流程
                context.HandleResponse();
                return Task.CompletedTask;
            }
        };
    });

这种配置下User.Identity.Name会直接返回认证票据中携带的域\用户名值,全程不产生LDAP流量。

注意:使用636端口LDAPS前,需要提前确认应用服务器到域控的636端口网络策略放通,且域控已正确部署匹配域名的服务器证书,否则LDAPS连接会建立失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 10:15:38