У меня CRM 2011 на исходной установке в одном домене и веб-сервер (сервер 2008) в отдельном домене с веб-сервером, на котором размещен веб-сайт MVC 3, который пытается получить доступ к службам, опубликованным на сервере CRM.
Я использую класс сущности с ранней привязкой, созданный запуском CrmSvcUtil.
Моя проблема заключается в том, что, когда я пытаюсь использовать службы из кода на веб-сервере, я получаю исключение «Запрос токена безопасности не может быть выполнен из-за сбоя аутентификации».
Если моя установка 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;
}
}
Что касается пула приложений, поскольку веб-сервер находится в другом домене, могу ли я применить учетную запись пользователя из окна CRM?