Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WCF模拟Salesforce.com登录服务_Wcf_Binding_Token_Salesforce - Fatal编程技术网

WCF模拟Salesforce.com登录服务

WCF模拟Salesforce.com登录服务,wcf,binding,token,salesforce,Wcf,Binding,Token,Salesforce,如何实现Salesforce.com使用WCF登录的功能?我希望有一个身份验证服务,在正确登录时返回令牌。然后,每组服务调用都会将令牌传回。我不想在每次方法调用时传递令牌 让我感到困惑的是会话头是如何成为绑定的一部分的 我也在寻找为什么这是或不是一个好主意。我认为这是干净和简单的 谢谢 // Create service object binding = new SforceService(); // Invoke the login call and save result

如何实现Salesforce.com使用WCF登录的功能?我希望有一个身份验证服务,在正确登录时返回令牌。然后,每组服务调用都会将令牌传回。我不想在每次方法调用时传递令牌

让我感到困惑的是会话头是如何成为绑定的一部分的

我也在寻找为什么这是或不是一个好主意。我认为这是干净和简单的

谢谢

 // Create service object   

  binding = new SforceService(); 
  // Invoke the login call and save results in LoginResult   

  LoginResult lr = binding.login("username","password"); 
  if (!lr.passwordExpired) {
  // Reset the SOAP endpoint to the returned server URL   

  binding.Url = lr.serverUrl; 
  // Create a new session header object   

  // Add the session ID returned from the login   

  binding.SessionHeaderValue = new SessionHeader(); 
  binding.SessionHeaderValue.sessionId = lr.sessionId; 
  GetUserInfoResult userInfo = lr.userInfo; 
  } else {
    Console.WriteLine("Your password is expired.");
  }

我相信您正在寻求利用及其安全令牌服务/STS模式。

Chris,我不关心提供令牌,我正在尝试使用它。我不知道如何像SalesForce那样将其附加到绑定上,或者如何在服务中将其取出。如果您使用WIF,您将拥有所有这些功能,如果您希望自己实现这些功能,您只需在会话cookie中传递令牌,然后在每个请求中验证cookie。谢谢Chris,我希望在没有饼干的情况下也能做到这一点。如果使用该服务的客户端不是.Net,会发生什么情况?即使客户端不是.Net,它们也应该能够处理跨线传递cookie,否则这听起来像是客户端的一个缺点。听起来像是您正在寻找添加自定义SOAP头。。。我在.NET中使用System.Web.Services.WebService完成了这项工作,如果在WCF中找不到这样的方法,我会感到震惊。这个问题看起来很相似,得到了公认的回答: