ASP.net修改域用户密码调用Invoke报UnauthorizedAccessException
500分求解!
同样的代码用Windows Form的程序是没有问题的,但在ASP.NET下就报错,似乎是ASP.NET的权限配置有问题,但一直没有找到正解。请高手指点。
DirectoryEntry AD = new DirectoryEntry(path);
AD.Username = "Username";
AD.Password = "Password";
//DirectoryEntry oUser = AD.Children.Find("SAMAccountName=Sniper");
//if (oUser != null)
//{
// oUser.Invoke("SetPassword", new string[] { tbNewPWD.Text });
// oUser.CommitChanges();
// oUser.Close();
// MessageBox.Show("密码修改成功!");
//}
//else
//{
// MessageBox.Show("未找到指定用户!");
//}
DirectorySearcher search = new DirectorySearcher(AD, string.Format("(SAMAccountName={0})", tbUserName.Text));
SearchResult result = search.FindOne();
if (result != null)
{
try
{
DirectoryEntry user = result.GetDirectoryEntry();
user.Username = userName;
user.Password = tbOrgPWD.Text;
user.Invoke("SetPassword", new string[] { tbNewPWD.Text });
user.CommitChanges();
user.Close();
labelResult.Text += "密码修改成功!";
}
catch (Exception ex)
{
labelResult.Text += ex.ToString();
}
}
else
{
labelResult.Text += "未找到指定用户!";
}