【发布时间】:2020-03-12 17:02:07
【问题描述】:
我对 C# 很陌生
我一直在使用 Powershell 脚本来编写诸如解锁 AD 用户或启用/禁用帐户之类的代码。但是,我使用不同的帐户执行此操作,因此我将使用管理员帐户(Get-Credential)登录并将其存储为例如“$cred”。
我目前正在尝试在 C# 中做类似的事情,并且我发现了如何有效地“验证” 但我不确定如何存储该身份验证,或者让我的应用通过身份验证来执行诸如禁用或解锁 AD 帐户之类的操作。
我有这个:
public bool ADauthenticate(string username, string password)
{
bool result = false;
using (DirectoryEntry _entry = new DirectoryEntry())
{
_entry.Username = username;
_entry.Password = password;
DirectorySearcher _searcher = new DirectorySearcher(_entry);
_searcher.Filter = "(objectclass=user)";
try
{
SearchResult _sr = _searcher.FindOne();
string _name = _sr.Properties["displayname"][0].ToString();
MessageBox.Show("authenticated!");
result = true;
this.Close();
}
catch
{
MessageBox.Show("Incorrect credentials");
this.ADUsername.Text = "";
this.ADPwd.Text = "";
}
}
return result; //true = user Authenticated.
}
这只是告诉我该帐户当然是正确的,但不会让我的应用程序保持“身份验证”,有什么想法吗?
【问题讨论】:
-
这是什么应用程序?桌面、网络或 API?
-
这是一个桌面应用程序
标签: c# active-directory user-accounts