Pergunta

Quando eu hospedar o "Modelo de serviço de descanso WCF 4" Projeto (do modelo) No IIS Developer Express Eu recebo o seguinte:

Os esquemas de autenticação especificados do IIS 'IntegratedWindowsAthentication, anônimos', mas a ligação suporta apenas a especificação de exatamente um esquema de autenticação. Os esquemas de autenticação válidos são digeridos, negociam, NTLM, BASIC ou Anonymous. Altere as configurações do IIS para que apenas um único esquema de autenticação seja usado.

Não mudei de configuração explicitamente além de definir AutomaticFormatSelectionEnabled Falso para devolver o JSON:

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <standardEndpoints>
      <webHttpEndpoint>
            <!--Configure the WCF REST service base address via the global.asax.cs file and the default endpoint 
            via the attributes on the <standardEndpoint> element below-->
        <standardEndpoint name="" 
                          helpEnabled="true" 
                          automaticFormatSelectionEnabled="false"
                          />
      </webHttpEndpoint>
    </standardEndpoints>
  </system.serviceModel>

Se a configuração do terminal não ser definida explicitamente é o problema, como eu o faria para esse tipo de serviço, a fim de definir o esquema de autenticação para o serviço explicitamente para evitar esse problema com o IIS Developer Express?

Nota: Eu tenho os seguintes assembléias Microsoft.web.dll & Microsoft.web.administration.dll Nos projetos de serviço da web /bin Pasta do aplicativo, conforme descrito na solução alternativa para os serviços WCF da WCF aqui no blog da equipe da ISS:http://blogs.iis.net/vaidyg/archive/2010/07/21/wcf-workaround-for-webmatrix-beta.aspx

Foi útil?

Solução

Você precisará desativar o esquema de autenticação que não é necessário, minha autheticação de adivinhação do Windows. Então:

  1. Inicie o bloco de notas
  2. Abrir no arquivo no bloco de notas: %UserProfile % Documents iesexpress8 config applicationhost.config
  3. Procurar por
  4. Altere o atributo ativado de verdadeiro para false
  5. Salvar

Isso desativará a autenticação do Windows para todos os sites, você pode adicionar um caminho de localização na parte inferior do arquivo logo antes do últimou003C/configuration> linha para o site específico (seu mite neste caso) Adicionar:

<location path="YourSite" overrideMode="Allow">
    <system.webServer>
        <security>
            <windowsAuthentication enabled="false" />
        </security>
    </system.webServer>
</location>

Isso apenas desativará isso para o site específico.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top