2009-05-12 17 views
11

Espero que cualquiera de ustedes sepa cómo solucionar este problema que estamos teniendo.Ayuda: ¿Cómo habilitar la Autenticación de Windows en el Servidor de desarrollo ASP.NET?

Estamos tratando de alojar un servicio WCF a través de la web. Configuramos web.config para que el servicio requiera autenticación de Windows. El problema que tenemos es el siguiente:

Cuando alojamos nuestro servicio en un IIS normal, el servicio funciona bien y no hay problemas con el modo "Autenticación de Windows". Sin embargo, cuando intentamos ejecutarlo desde nuestros cuadros de desarrollador, aparece el siguiente error: "La configuración de seguridad de este servicio requiere la Autenticación de Windows, pero no está habilitada para la aplicación IIS que aloja este servicio".

Nuestros cuadros de desarrolladores no alojan el servicio a través del IIS normal, sino a través del Servidor de desarrollo APS.NET de Visual Studio. Intentamos acceder a las propiedades del proyecto web y dijimos que habilitamos la autenticación NTLM, pero eso aún no lo solucionó. ¿Alguien sabe cómo arreglarlo? ¿VS ASP.NET Development Server incluso admite la autenticación de Windows? ¿La única opción para alojar el servicio con la Autenticación de Windows es usar IIS y olvidarse del Servidor de Desarrollo ASP.NET?

Gracias Chuck

+0

inevitablemente termino usando IIS en el cuadro de prog. Los directorios virtuales son una razón. Una razón más general es garantizar que el entorno dev emule el servidor de producción lo más cerca posible. Sin embargo, requiere un poco más de trabajo de configuración para los desarrolladores. –

Respuesta

4

ASP.Net servidor de desarrollo es muy limitada. Solo atiende solicitudes que se originan desde la misma máquina en la que se está ejecutando, y no servirá a los archivos que están fuera del alcance de su aplicación. Se basa en el servidor de Cassini. Cassini no es compatible con los servicios web de WCF. La documentación para ASP.Net Development Server dice que admite NTLM. Si solo está navegando hacia una página desde la máquina local, debería funcionar bien a menos que la página haga referencia a un recurso no disponible.

echa un vistazo a http://msdn.microsoft.com/en-us/library/58wxa9w5.aspx para obtener más información.

2

Me gustaría instalar y configurar IIS en su máquina de desarrollo local y usar eso en lugar de usar el servidor web incorporado. Para usar IIS local para depurar, seleccione "Servidor web de IIS local de usuario" en la pestaña web de las propiedades del proyecto. El uso de IIS en lugar del servidor web incorporado también significa que puede configurar su aplicación exactamente de la misma manera que se configurará en el servidor de producción, y esto reducirá el número de posibles sorpresas cuando se mueva al entorno de producción.

11

Con el fin de establecer la configuración de seguridad de IIS Express:

  1. buscar la IIS expresan símbolo en la barra de tareas (bandeja del sistema).
  2. Haga clic derecho y seleccione "Todas las aplicaciones".
  3. Haga clic en el nombre del sitio que desea cambiar (aunque creo que el cambio es amplio)
  4. Haga clic en la ruta en la sección de configuración a continuación (se abrirá el host de aplicación.archivo de configuración)
  5. Búsqueda de la sección de autenticación y realice los cambios

Ejemplo cambios se puede encontrar aquí:

http://toadcode.blogspot.ca/2011/08/security-config-in-iis-express.html

+1

Gracias Brett! De todas las soluciones que probé, esto lo hizo por mí. Asegúrese de NO poner lo siguiente en su configuración si prueba la solución anterior: . –

+0

Awesome gracias! Me actualicé a VS 2015 y tuve este problema pero tu solución lo solucionó. – DontFretBrett

Cuestiones relacionadas