Я работаю с веб-API, который использует Active Directory для аутентификации пользователей. Я использую этот API в PHP для входа в систему пользователя, который находится в моем ключе WEB API (ключ находится в файле «Web.Config»). Я новичок в С# веб-API, и что-то не так, что я не могу решить. Мне нужно вставить некоторые проверки для пользователя. Первый - если пользователь не находится в ключе «Возврат не разрешен». Если пользователь находится в ключе, но имя пользователя или пароль недействительны, «Верните неверное имя пользователя или пароль», и если пользовательский ввод верен, зарегистрируйте пользователя в системе.
public string IsAuthenticated(string user, string pass, string domain)
{
DirectoryEntry objDirEntry = new DirectoryEntry("LDAP://" + domain, user, pass);
try
{
string UserName = user.ToString();
string Password = pass.ToString();
string Domain = "Netsolpk";
DirectorySearcher search = new DirectorySearcher(objDirEntry);
SearchResult result = search.FindOne();
if (result == null)
return "You're not in the Domain";
string AdAuthentication = IsAuthenticated(UserName, Password, Domain);
string[] name = ConfigurationManager.AppSettings["name"].Split(',');
string authorized = "false";
foreach (var author in name)
{
if (AdAuthentication == "true" && author.ToLower() == user.ToLower())
{
return "true"; //login
}
else if (author.ToLower() == user.ToLower())
{
return "Invalid Password";
authorized = "true";
break;
}
}
if (AdAuthentication == "false")
{
return "Not Allowed";
}
return "false";
}
catch (Exception)
{
return "false";
}
}
<appSettings>
<add key="webpages:Version" value="3.0.0.0"/>
<add key="webpages:Enabled" value="false"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
<add key="name" value="DavidR,JohnH"/>
</appSettings>