要解决“Active Directory / LDAP 的长用户名未被验证”问题,你需要在代码中进行以下步骤:
string username = "your_long_username";
int maxLength = 64; // 假设最大长度为64个字符
if (username.Length > maxLength)
{
// 处理用户名过长的情况,例如给出错误提示或截断用户名
// 例如:username = username.Substring(0, maxLength);
}
string username = "your_username";
string encodedUsername = System.Web.HttpUtility.UrlEncode(username);
using System.DirectoryServices;
string ldapPath = "LDAP://your_ldap_server";
string domainUsername = "your_domain\\your_username";
string password = "your_password";
DirectoryEntry entry = new DirectoryEntry(ldapPath, domainUsername, password);
try
{
// 进行LDAP验证
object obj = entry.NativeObject;
// 验证成功
}
catch (DirectoryServicesCOMException ex)
{
// 验证失败,处理异常
}
finally
{
entry.Close();
}
以上是一个基本的解决方法示例,你可以根据自己的具体情况和编程语言进行相应的修改和调整。