【发布时间】:2012-03-07 00:26:30
【问题描述】:
我在一个域上安装了 CRM 2011,并在一个单独的域上有一个 Web 服务器(服务器 2008),该 Web 服务器托管一个试图访问 CRM 服务器上发布的服务的 MVC 3 网站。
我正在使用通过运行 CrmSvcUtil 创建的早期绑定实体类。
我的问题是,当我尝试从 Web 服务器上的代码中使用服务时,我收到“由于身份验证失败,无法满足对安全令牌的请求”异常。
如果我的 CRM 安装是在本地安装的,实际上是否可以在没有将 CRM 安装为 IFD 的情况下从单独域上的另一台计算机进行连接?
我正在使用凭据来调用服务...
public override bool ValidateUser(string username, string password)
{
var credentials = SecurityHelper.BuildClientCredentials(_crmUsername, _crmPassword, _domain);
using (_serviceProxy = new OrganizationServiceProxy(new Uri(_organisationUri), null, credentials, null))
{
if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(password))
{
_serviceProxy.EnableProxyTypes();
using (var orgContext = new XrmServiceContext(_serviceProxy))
{......
还有我的帮助类来创建凭据.....
public class SecurityHelper
{
public static ClientCredentials BuildClientCredentials(string username, string password, string domain)
{
var credentials = new ClientCredentials();
credentials.Windows.ClientCredential = new System.Net.NetworkCredential(username, password, domain);
credentials.UserName.UserName = username;
credentials.UserName.Password = password;
return credentials;
}
}
就应用程序池而言,因为 Web 服务器位于不同的域中,我可以从 CRM 框应用用户帐户吗?
【问题讨论】:
标签: wcf dynamics-crm-2011 crm microsoft-dynamics