CRM 2011 Online через приложение ASP.net не работает, тот же код через Консольное приложение работает -> Ошибка "Ошибка аутентификации"

Я пытаюсь подключиться к среде CRM 2011 Online. Я могу подключиться через "Консольное приложение", но когда я пытаюсь подключиться через "ASP.net"-приложение с тем же кодом, оно не работает, оно выдает мне "Ошибка аутентификации" - ошибка ({"Необеспеченная или неправильно защищенная ошибка была получена от другой стороны. См. внутреннее исключение FaultException для получения кода ошибки и подробностей."}).

Есть ли что-то особенное, что нам нужно сделать, чтобы это работало в среде "ASP.net". Я проверил несколько решений, которые я нашел в Интернете, но все выдает мне ту же ошибку.

"Код" - снэппет моего упрощенного кода:

    private static ClientCredentials GetDeviceCredentials()
    {
        return Microsoft.Crm.Services.Utility.DeviceIdManager.LoadOrRegisterDevice();

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        //Authenticate using credentials of the logged in user;
        string UserName = "*****";   //your Windows Live ID
        string Password = "*****";    // your password
        ClientCredentials Credentials = new ClientCredentials();
        Credentials.UserName.UserName = UserName;
        Credentials.UserName.Password = Password;

        Credentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
        //This URL needs to be updated to match the servername and Organization for the environment.
        Uri OrganizationUri = new Uri("https://*****.crm4.dynamics.com/XRMServices/2011/Organization.svc");           //this URL could copy from Setting --> Developer Source 

       Uri HomeRealmUri = null;
        //OrganizationServiceProxy serviceProxy;   
       using (OrganizationServiceProxy serviceProxy = new OrganizationServiceProxy(OrganizationUri, HomeRealmUri, Credentials, GetDeviceCredentials()))
       {
           IOrganizationService service = (IOrganizationService)serviceProxy;
           OrganizationServiceContext orgContext = new OrganizationServiceContext(service);

           var theAccounts = orgContext.CreateQuery<Account>().Take(1).ToList();
           Response.Write(theAccounts.First().Name);
       }

    }

Я попробовал несколько вещей, таких как удаление содержимого папки "LiveDeviceID" и повторный запуск инструмента регистрации устройства. но странно, что это работает в "консольном приложении", но не на моем "asp.net" -решения...

PS: я могу сгенерировать файл "context" через crmsvcutil.exe / url: https://org.crm4.dynamics.com/XRMServices/2011/Organization.svc /o:crm.cs / u: имя пользователя /p: пароль /di: имя_пользователя /dp:devicPWD

1 ответ

Есть ли у вас особая причина

Credentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;

Вам не нужна эта строка для аутентификации Windows Live.

Даже при том, что код кажется действительным, так что это как-то связано с регистрацией устройства. Я предлагаю, а не просто позвонить прямо как у вас

using (OrganizationServiceProxy serviceProxy = new OrganizationServiceProxy(OrganizationUri, HomeRealmUri, Credentials, GetDeviceCredentials()))
   {

Вы пытаетесь что-то вроде следующего, потому что вам нужно зарегистрироваться только один раз:

ClientCredentials deviceCredentials;

if ((CRMSettings.Default.DeviceID == String.Empty) || (CRMSettings.Default.DevicePassword == String.Empty))
{
    deviceCredentials = Microsoft.Crm.Services.Utility.DeviceIdManager.RegisterDevice();
}
else
{
    deviceCredentials = new ClientCredentials();
    deviceCredentials.UserName.UserName = CRMSettings.Default.DeviceID;
    deviceCredentials.UserName.Password = CRMSettings.Default.DevicePassword;
}

using (OrganizationServiceProxy serviceProxy = new OrganizationServiceProxy(OrganizationUri, HomeRealmUri, Credentials, deviceCredentials))
{

В прошлом у меня были проблемы, когда я получал "уже зарегистрированный" ответ на вызов RegisterDevice.

Я также хотел бы вывести идентификатор устройства и пароль, чтобы вы могли видеть, установлены ли они.

Другие вопросы по тегам