Pregunta

Cuando desplegué mis servicios de datos de WCF para la producción de alojamiento empecé a obtener el siguiente error (o similar dependiendo de qué esquemas de autenticación están activos):

  

IIS esquemas de autenticación especificados   'Básico, Anónimo', pero la unión   sólo es compatible con la especificación de exactamente   un esquema de autenticación. Válido   son esquemas de autenticación Digest,   Negociar, NTLM, básica o anónima.   Cambiar la configuración de IIS de modo que sólo una   Se utiliza el esquema de autenticación única.

Al parecer WCF Data Services (WCF en general?) No puede manejar tener más de una vez esquema de autenticación activa.

OK, así que soy consciente de que puedo desactivar todos menos uno-a-esquema de autenticación de la aplicación web a través del panel de control de IIS .... a través de una solicitud de soporte !!

¿Hay una manera de especificar un esquema de autenticación única a nivel de cada servicio en el web.config?

pensé que esto podría ser tan sencillo como realizar un cambio en <system.serviceModel> pero ... resulta que WCF Data Services no lo configura a sí mismos en la web de configuración . Si nos fijamos en la clase DataService<> no implementa un [ServiceContract] por lo tanto, no se puede hacer referencia a ella en el <service><endpoint> ... que supongo que sería necesario para cambiar su configuración a través de XML.

P.S. Nuestro anfitrión está utilizando II6, pero ambas soluciones para IIS6 y IIS7 apreciado.

¿Fue útil?

Solución

En primer lugar, es posible configurar los servicios de datos en el archivo de configuración web. El contrato utilizado por el DataService se llama System.Data.Services.IRequestHandler.

Esto es lo que puede hacer en el archivo web.config de configurar la misma.

En la etiqueta de servicio del elemento System.ServiceModel añadir

<service name="{you service type name including the namespace i.e. myapplication.myservice}">
    <endpoint address="" binding="webHttpBinding" contract="System.Data.Services.IRequestHandler">
    </endpoint>
</service>

Una vez que tenga que allí se puede iniciar la configuración de todas las maneras de que el uso de los elementos de configuración de WCF estándar.

En segundo para activar o métodos de autenticación con discapacidad para un servicio específico en IIS, puede hacer lo siguiente:

En el instante en para IIS clic derecho sobre el archivo de servicio (es decir yourservice.svc) y haga clic en Propiedades. Una vez en las propiedades de ir a Archivo Ficha Seguridad y eligió el botón Editar en el cuadro de grupo de autenticación y control de acceso. después de eso es igual que la configuración de seguridad del directorio en IIS.

Como última sugerencia de acuerdo con cualquier solución de problemas es importante va a permitir a los disgnostics WCF mientras se configuran utilizando la configuración XML, se escribe en WCF, servicio de registro de datos es según WCF es rica y muy informativo.

Puede encontrar más información acerca de que en Administración y Diagnóstico WCF

Espero haber sido capaz de ayudarle con su problema

, hágamelo saber cómo va cosas.

Regards

Daniel Portella

ACTUALIZACIÓN:

Hola Schneider

Para especificar el esquema de autenticación en el xml leer a continuación

Para la autenticación de Windows como un ejemplo

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
    <bindings>
      <webHttpBinding>
        <binding name="MyBindingName" >
          <security mode="Transport">
            <transport clientCredentialType="Windows" />
          </security>
        </binding>
      </webHttpBinding>
    </bindings>
    <services>
      <service name="{you service type name including the namespace i.e. myapplication.myservice}">
        <endpoint address="" binding="webHttpBinding" bindingConfiguration="MyBindingName" contract="System.Data.Services.IRequestHandler">
        </endpoint>
      </service>
    </services>
  </system.serviceModel>
</configuration>

Para otros tipos de autenticación por favor, compruebe la biblioteca MSDN para ejemplos

escenarios comunes para la seguridad

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top