Мне нужен код C# для проверки учетных данных Windows, возможно, учетная запись может быть локальной или учетной записью домена.проверка учетных данных Windows
Просьба дать некоторые идеи о том, как это сделать.
Мне нужен код C# для проверки учетных данных Windows, возможно, учетная запись может быть локальной или учетной записью домена.проверка учетных данных Windows
Просьба дать некоторые идеи о том, как это сделать.
В зависимости от используемой вами версии .NET. Если вы используете версию .NET, которая содержит System.DirectoryServices.AccountManagement вы можете сделать следующее:
bool valid = false;
using (PrincipalContext context = new PrincipalContext(ContextType.Domain))
{
valid = context.ValidateCredentials(username, password);
}
Изменение ContextType.Domain в ContextType.Machine для локальной машины. Вы также можете попытаться олицетворять пользователя, обратившись к Active Directory или попытавшись заставить логин в локальной системе использовать что-то вроде этого. Однако я бы порекомендовал вышеприведенный подход.
public bool IsAuthenticated(string server, string username, string password)
{
bool authenticated = false;
try
{
DirectoryEntry entry = new DirectoryEntry(server, username, password);
object nativeObject = entry.NativeObject;
authenticated = true;
}
catch (DirectoryServicesCOMException cex)
{
//not authenticated; reason why is in cex
}
catch (Exception ex)
{
//not authenticated due to some other exception [this is optional]
}
return authenticated;
}
Идея - используйте свою любимую поисковую систему (Google, Bing, ...) и введите название своего сообщения. –
Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –