Microsoft Dynamics CRM 2011 continuously prompts for credentials when it attempts to access a web resource

This article describes a problem when you access Microsoft Dynamics CRM 2011, you're continuously prompted with credentials when Microsoft Dynamics CRM is trying to access web resources.

Applies to:   Microsoft Dynamics CRM 2011
Original KB number:   2536453

Symptoms

When you access Microsoft Dynamics CRM 2011, you're continuously prompted with credentials when Microsoft Dynamics CRM is trying to access web resources.

Cause

Kernel mode authentication within Internet Information Systems is disabled for the Microsoft Dynamics CRM website.

Resolution

Kernel mode authentication must be enabled. In situations where you require the use of SPNs, such as Load Balancing, you must modify the applicationHost.config file to useAppPoolCredentials. To correct this issue, go through the following steps:

  1. Enable Kernel-mode authentication.

    1. On the Microsoft Dynamics CRM server(s), open up IIS Manager:
    2. Start > Run: inetmgr.
    3. Expand SERVER > Sites.
    4. Select Microsoft Dynamics CRM.
    5. Within the Features view, double-click on Authentication.
    6. Right-click on Windows Authentication and go to Advanced Settings.
    7. Check Enable Kernel-mode authentication.
    8. Select Ok.
    9. Close IIS Manager.
  2. Modify the applicationHost.config file for IIS to useAppPoolCredentials:

    1. On the Microsoft Dynamics CRM server(s), go to: %SystemDrive%/Windows/System32/inetsrv/config

    2. Make a backup of the applicationHost.config file.

    3. Edit the applicationHost.config file with NotePad.

    4. Modify the system.webServer tag to include useAppPoolCredentials:

      <system.webServer>
          <security>
              <authentication>
                  <windowsAuthentication enabled="true" useKernelMode="true" useAppPoolCredentials="true" />
              </authentication>
          </security>
      </system.webServer>
      
      

    Note

    There are a lot of different system.webServer references within the applicationHost.config file. To determine which element you should be modifying, load the applicationHost.config file in Visual Studio. Then compress all of the elements under <configuration>, so you can see all of the main elements:

    Screenshot shows how to determine the element that should be modified.

    Expand the system.webServer element and make your modifications within here.

  3. Set the proper SPNs for the Service Account running the CRMAppPool.