一个应用程序,它通过调用 Web 服务 API 来获取用户详细信息。但是,该 Web 服务最近停止/停用。
实现获取用户详细信息的方式,如下所示:
[httpGet]
Public WebServiceResponse GetUserInfo(string ID);
{
try
{
return
UsrMgr.GetTheUsersbyWS(ID,AuthorizationHeaderKey,AuthorizationHeaderValue,SearchURL);
}
Catch(Exception Ex)
{
}
}
“GetTheUsersbyWS”定义为:
public WebServiceResponse GetTheUsersbyWS (string Id, string key, string val, string url)
{
//code lines
return JsonConvert.DeserializeObject<WebServiceResponse>(result);
}
“WebServiceResponse”类如下:
public class WebServiceResponse
{
public string id {get;set;}
public string email {get;set;}
public string cn {get;set;}
public string role {get;set;}
public string anyerror {get;set;}
}
“UsrMgr”是一个属性。
考虑到退役,下面是我尝试实施 LDAP 的方式。
[httpGet]
Public WebServiceResponse GetUserInfo(string ID);
{
try
{
return
UsrMgr.GetTheUsers(ID);
}
Catch(Exception Ex)
{
}
}
这是“GetTheUsers”方法定义。
public WebServiceResponse GetTheUsers(string id)
{
string ldaphost = "localhost";
int ldapport = 123;
string ldapcredential = "the required details"
string ldappass = "The password"
LdapEntry nextEntry = null;
LdapSearchresults result = null;
try
{
LdapConnection lconn = new LdapConnection();
string requiredattributes = {"id","email","cn","role"};
lconn.Connect(ldaphost ,ldapport);
lconn.Bind(ldapcredential ,ldappass );
result = (LdapSearchresults)lconn.Search(param1,param2,param3,param4,param5);
nextEntry = result.next(); //Getting data from LDAP - OK.
lconn.Disconnect();
}
catch(LdapException e)
{
//message
}
return JsonConvert.DeserializeObject<WebServiceResponse>(nextEntry.ToString()); // Here is the problem
}
为从 LDAP 获取详细信息而编写的新方法“GetTheUsers”正在获取所需数据,但是会向调用方法抛出异常。所以“return”语句有问题。
有人遇到过这样的问题吗?任何解决问题的线索/解决方案? - 可能是通过更改返回语句而不更改调用方法。
应用程序是 .net 核心并托管在 Azure 应用程序服务中。第二,有什么方法可以从 Azure AD 获取用户详细信息?如果是,执行此操作的步骤是什么?
任何一种方式; ( LDAP 或从 Azure AD 获取详细信息)会有所帮助。谢谢。