在使用凭据进行LDAP绑定时,授权任何人使用空用户名

时间:2018-05-18 19:38:48

标签: c# active-directory ldap

我正致力于使用LDAP连接授权用户。以下是代码的小按钮

string principalUserName = "";
NetworkCredential NC = new NetworkCredential(principalUserName, password); 
LdapConnection.Bind(NC);`

上面的代码应该给出空字符串的错误原因,但事实并非如此。因此,只要principalUserName为空,它就会授权任何人,无论密码如何(因此LdapConnection.Bind(NC)不会给出任何错误。)

principalUsername的适当值的格式为

CN=user1,OU=PublicOrganization

我的问题是:为什么要授权空用户名?

1 个答案:

答案 0 :(得分:2)

它将空凭据视为无凭据。如果您不提供凭据,则会使用正在运行的进程的凭据。

所以它使用你的凭据。

您可以通过在本地计算机帐户下运行您的程序来对此进行测试,该帐户不会被域信任。在这种情况下,测试将失败。