如何在不使用dotnet中的安全令牌的情况下登录salesforce(使用soap api)?

时间:2013-10-14 07:17:00

标签: .net api salesforce

我需要在dotnet上登录salesforce而不使用安全令牌(soap api)。

目前我们正在使用登录代码(soap api):

SforceService mySalesForceSerice= new SforceService();  
LoginResult myLoginResult=mySalesForceSerice.login(username,String.Concat(password,***securityToken***));                
this.SessionID = myLoginResult .sessionId;
this.ServerUrl = myLoginResult .serverUrl;  

但我不使用安全令牌 .....................

2 个答案:

答案 0 :(得分:1)

如果您查看登录的API参考

  
    

Salesforce会检查客户端应用程序从中登录的IP地址,并阻止来自未知IP地址的登录。对于通过API阻止登录,Salesforce会返回登录错误。 然后,用户必须将其安全令牌添加到其密码的末尾才能登录。安全令牌是Salesforce自动生成的密钥。例如,如果用户的密码是mypassword,并且其安全令牌是XXXXXXXXXX,则用户必须输入mypasswordXXXXXXXXXX才能登录。 当安全令牌无效时,用户必须重复登录过程才能登录。为避免这种情况,管理员可以确保将客户端的IP地址添加到组织的可信IP地址列表中。有关详细信息,请参阅Security Token

  

链接后显示:

  
    

如果为您的组织启用了单点登录(SSO),则访问API或桌面客户端的用户无法登录到Salesforce,除非他们的IP地址包含在您组织的可信IP地址列表中或其配置文件中,如果他们的个人资料设置了IP地址限制。此外,委派的身份验证授权通常为具有“使用单一登录”权限的用户处理登录锁定策略。但是,如果为您的组织启用了安全令牌,那么您组织的登录锁定设置将确定用户在锁定Salesforce之前可以尝试使用无效安全令牌登录的次数。< / p>   

在我看来,这是一个安全设置,需要由您的salesforce管理员设置,并且无法绕过。

答案 1 :(得分:1)

转到setup-&gt; Security Controls-&gt; Network并输入服务器的IP地址或地址范围。来自白名单的IP地址的登录尝试不需要安全令牌。

我对大多数服务器执行此操作,因此在从Eclipse部署时无需输入令牌。我也这样做,所以使用apex REST服务的curl脚本是无记号的。