在windows Form程序中使用。这段代码如下:
private void Authenticate(string username,string password)
{
try
{
DirectoryEntry AD = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer"); //设置活动目录为本机
DirectoryEntry ChangerUser = AD.Children.Find(username ,"user");
//ChangerUser.Invoke("ChangePassword", new object[] { password, password });
UserFullNameStr=ChangerUser.InvokeGet("FullName").ToString();
UserDescriptionStr = ChangerUser.InvokeGet("Description").ToString();
ChangerUser.CommitChanges();
this.Close();
}
catch
{
MessageBox.Show("用户名/密码错误,请重新输入","登录错误", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
DialogResult = DialogResult.None;
count = count + 1;
if (count == FailCount)
{
this.Close();
LoginWaring = true;
}
}
}问题:我验证密码是采用的修改密码的方式间接获得,有没有更好的办法?还有就是当当前系统用户权限不为administrator时,则此程序似乎无法访问Active Directory,抛出异常为访问拒绝,否则没有问题,自己觉得应该为权限的问题,请问如何解决?需要在普通权限下进行用户身份鉴定 ,谢谢。
private void Authenticate(string username,string password)
{
try
{
DirectoryEntry AD = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer"); //设置活动目录为本机
DirectoryEntry ChangerUser = AD.Children.Find(username ,"user");
//ChangerUser.Invoke("ChangePassword", new object[] { password, password });
UserFullNameStr=ChangerUser.InvokeGet("FullName").ToString();
UserDescriptionStr = ChangerUser.InvokeGet("Description").ToString();
ChangerUser.CommitChanges();
this.Close();
}
catch
{
MessageBox.Show("用户名/密码错误,请重新输入","登录错误", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
DialogResult = DialogResult.None;
count = count + 1;
if (count == FailCount)
{
this.Close();
LoginWaring = true;
}
}
}问题:我验证密码是采用的修改密码的方式间接获得,有没有更好的办法?还有就是当当前系统用户权限不为administrator时,则此程序似乎无法访问Active Directory,抛出异常为访问拒绝,否则没有问题,自己觉得应该为权限的问题,请问如何解决?需要在普通权限下进行用户身份鉴定 ,谢谢。
解决方案 »
- 在mysql 中用Blob数据类型存储的图片,怎么不能取出来啊?
- 怎样才能将vs2005.NET卸载干净?(急急急!!!)
- C#发邮件问题
- 我现在有一个List<Group>的对象集合,需要把这个集合递归绑定到treeview上,求各位大虾帮帮忙!急……
- C#winfrom窗体应用程序中怎么把一个整数固定格式给文本框赋值
- cssclass imagebutton
- 同一工程中非窗体类(一般类)是否可以调用主窗体中的控件?
- 关于DropDownList问题~
- 請教一個ASP.Net中dataGrid1選定一行后,得到該行的記錄,該怎樣實現呢!!
- 举手之劳!请大家写一个ADO.net连接SQL Server的数据库连接字符串
- 请教一问题,up有分:)
- 关于Winform下的DataGrid的问题!
DirectoryEntry AD = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer",username,password);
就可以验证,但是还是不能在user用户下使用啊