Error: Security settings for this service require Windows Authentication but it is not enabled for the IIS application that hosts this service.

Errors and Error Messages
Q. I'm getting the following error when I test Silverlight services for my EP configured to use Windows authentication by entering http://myEPsite/Services/UserService.svc address as per this article.
Neither Interactive Gantt nor Activities (Silverlight) pages are loaded.

Security settings for this service require Windows Authentication but it is not enabled for the IIS application that hosts this service.


A.
If this error is returned and Windows Authentication has been enabled in IIS, it means there is an issue with the supported network authentication schemes for the website that the web service is installed under. The most likely cause is that it is configured for NTLM only while it should use both NTLM and Negotiate.

  1. Click Start, click Run, type cmd, and then press ENTER.
  2. Locate the directory that contains the Adsutil.vbs file. By default, this directory is C:\Inetpub\Adminscripts.
  3. Use the following command to retrieve the current values for the NTAuthenticationProviders metabase property:

            cscript adsutil.vbs get w3svc/WebSite/root/NTAuthenticationProviders


    In this command, WebSite is a placeholder for the Web site ID number. The Web site ID number of the default Web site is 1.

    If the Negotiate process is enabled, this command returns the following information:

    NTAuthenticationProviders : (STRING) "Negotiate,NTLM"


  4. If the command in step 3 does not return the string "Negotiate,NTLM," use the following command to enable the Negotiate process:

            cscript adsutil.vbs set w3svc/WebSite/root/NTAuthenticationProviders "Negotiate,NTLM"


  5. Repeat step 3 to verify that the Negotiate process has been enabled.
Note If you receive an error when you try to verify that the Negotiate process has been enabled, make sure that you did not leave a space between "Negotiate" and "NTLM." For example, "Negotiate,NTLM" differs from "Negotiate, NTLM."

After this has been done restart IIS by running "iisreset" (without the quotes) in the command prompt.