我想将c#(System.DirectoryServices.Protocol命名空间)应用程序连接到外部域/域中的LDAP服务器。我在Active Directory域中。对于外部领域,定义了一个传入信任(在我的Windows域中)。
我想与我的Windows用户和kerberos进行认证。我不想输入用户名/密码。
如果我尝试连接到外部域的LDAP服务器,则不会生成kerberos票证(kerbtray.exe)。
代码如下所示:
LdapDirectoryIdentifier ldap_id = new LdapDirectoryIdentifier(
host,
Int32.Parse(port),
true,
false);
LdapConnection con = new LdapConnection(ldap_id);
con.AuthType = AuthType.Kerberos;
con.SessionOptions.Sealing = true;
con.SessionOptions.Signing = true;
con.SessionOptions.ProtocolVersion = 3;
con.Bind();
Die Bind抛出“不支持的身份验证类型”异常。
更新
在某些配置之后,绑定请求会发出协议错误。在wireshark日志中,我看到请求中没有凭据。也许缺少服务主体名称......