我正在尝试通过具有自己客户端的 azure 应用程序中的 AAD 进行用户授权。我的 AAD 中有一个名为“User”的用户,密码为“pass”。当用户尝试连接应用程序时:
try
{
if (false == Utils.DataBaseUtils.CheckLoginCorrect(sceneMessage.Login, sceneMessage.Pwd))
{
WriteToLog("Wrong password");
SendError(handler, "Wrong password");
return;
}
}
catch (Exception e)
{
WriteToLog("Unexpected problem when checking password: "+e.ToString());
SendError(handler, "Unexpected problem when checking password");
return;
}
//authorization using Azure Active Directory
public static bool CheckLoginCorrect(string login, string password)
{
if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password)) //validatecredentials return true if log or pass is empty
return false;
using (PrincipalContext adContext = new PrincipalContext(ContextType.Domain, "mydomain156.onmicrosoft.com")) //represent AD
{
return adContext.ValidateCredentials(login, password, ContextOptions.Negotiate);
}
}
哪里sceneMessage.Login == "User"
,sceneMessage.Pwd == "pass"
。在这里我收到错误:
System.DirectoryServices.AccountManagement.PrincipalServerDownException:无法联系服务器。---> System.DirectoryServices.Protocols.LdapException:LDAP 服务器不可用。
请问有人可以帮忙吗?