无法在 IIS 7 上使用 LdapConnection C# 进行身份验证
Unable to authenticate with LdapConnection C# on IIS 7
我正在尝试使用活动目录和 C# 进行身份验证。该代码在 Visual Studio 15 下在 IIS Express 上运行,但是当我将项目部署到 IIS 服务器时,LDAP 连接 returns 出现以下错误:
"The Supplied Credential is invalid"
这是我使用的代码:
public static dynamic AuthenticationUser(string username, string password)
{
bool validation;
try
{
var credentials = new NetworkCredential(username, password, "somedomain");
var serverId = new LdapDirectoryIdentifier("someserver");
LdapConnection conn = new LdapConnection(new LdapDirectoryIdentifier((string)null, false, false));
conn.Credential = credentials;
conn.AuthType = AuthType.Negotiate;
conn.Bind(credentials);
validation = true;
}
catch (LdapException ex)
{
validation = false;
return ex.Message;
}
当我使用 Visual Studio 进行调试时一切正常,我可以验证并确认该用户存在于 AD 服务器上,但是使用 IIS 服务器时会出现错误。
更新
我通过禁用 IIS 服务器上的域控制器解决了这个问题。
我通过禁用 IIS 服务器上的域控制器解决了这个问题。
我正在尝试使用活动目录和 C# 进行身份验证。该代码在 Visual Studio 15 下在 IIS Express 上运行,但是当我将项目部署到 IIS 服务器时,LDAP 连接 returns 出现以下错误:
"The Supplied Credential is invalid"
这是我使用的代码:
public static dynamic AuthenticationUser(string username, string password)
{
bool validation;
try
{
var credentials = new NetworkCredential(username, password, "somedomain");
var serverId = new LdapDirectoryIdentifier("someserver");
LdapConnection conn = new LdapConnection(new LdapDirectoryIdentifier((string)null, false, false));
conn.Credential = credentials;
conn.AuthType = AuthType.Negotiate;
conn.Bind(credentials);
validation = true;
}
catch (LdapException ex)
{
validation = false;
return ex.Message;
}
当我使用 Visual Studio 进行调试时一切正常,我可以验证并确认该用户存在于 AD 服务器上,但是使用 IIS 服务器时会出现错误。
更新
我通过禁用 IIS 服务器上的域控制器解决了这个问题。
我通过禁用 IIS 服务器上的域控制器解决了这个问题。