尝试通过参数(userName)将值传递给方法时遇到问题。如果我对该值进行硬编码,它将找到该用户。
非常感谢任何指导,
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(txtUserName.Text))
{
string userName = txtUserName.ToString();
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "car2.local", "DC=car2,DC=local");
UserPrincipal usr = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, userName);
if(usr != null)
{
lblStatus.Text = "user exists";
}
else
{
lblStatus.Text = "user does not exists";
}
}
}
答案 0 :(得分:1)
试试这个 - 阅读文本框的.Text
属性(并调用.Trim()
以删除任何其他多余的空格),而不是使用.ToString()
:
string userName = txtUserName.Text.Trim();
UserPrincipal usr = UserPrincipal.FindByIdentity(ctx, userName);
如果您没有指定要搜索的身份类型 - 那么AD将搜索最常见的身份类型,并希望找到您的用户!