我有两个位于不同服务器上的wcf服务。 我打电话给第一个服务:
var ms = new MessagesService.CommonClient();
ms.ClientCredentials.UserName.UserName = "admin";
ms.ClientCredentials.UserName.Password = "12345";
string r = ms.GetStatus();
在此服务中,有第二项服务的呼叫:
public class MessagesService : ICommon
{
public string GetStatus()
{
var serviceSecond = new ProcessingService.ProcessingClient();
try
{
status = serviceSecond.GetName();
serviceSecond.Close();
}
catch (Exception error)
{
serviceSecond.Abort();
throw new FaultException(error.Message);
}
return status;
}
}
在第一项服务中,我可以获得用户名:
OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name //admin
第二项服务的实施:
public class ProcessingService : IProcessing
{
public string GetName()
{
return OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name; //WCF01
}
}
第二个服务返回给我的服务器的名称 第一次服务(WCF01)。如何在第二项服务上获得“管理员”? 谢谢你的帮助!