Estoy intentando implementar una aplicación ASP.NET MVC 3 en un cuadro de Windows 2008 R2. Ejecuté el instalador de la plataforma web para instalar MVC 3 bits y las configuraciones básicas de IIS. Creé una nueva carpeta C: \ Website, luego creé un nuevo sitio web y lo apunté a esta carpeta.¿Por qué recibo un error 401.2/Acceso denegado al implementar mi aplicación MVC 3 en IIS 7.5?
Veo que hay una nueva identidad de grupo de aplicaciones, "ApplicationPoolIdentity" que es diferente de IIS 6 (y es una cuenta de usuario "especial" que no está realmente disponible desde la pestaña de seguridad en la carpeta). Asigné manualmente el permiso a la carpeta C: \ del sitio web escribiendo la cuenta "IIS AppPool \ DefaultAppPool" y dándole Leer & Ejecutar/Mostrar contenido de la carpeta/Acceso de lectura (específicamente: carpeta Traver/archivo ejecutable, carpeta de lista/leer datos, Atributos de lectura, atributos extendidos de lectura, permisos de lectura).
El grupo de aplicaciones para este sitio web está configurado para v4 del .NET framework, Integrated pipeline.
En IIS Autenticación "Autenticación anónima" está habilitada.
Mi sitio web tiene el modo de autenticación = "Windows" en el archivo web.config. Esta es la primera vez que uso la autenticación de Windows. Si es importante, el servidor web es parte de un dominio.
Cuando intento acceder al sitio obtengo un error de Acceso denegado, 401.2. Pensé que podría estar relacionado con la configuración de autenticación de Windows, así que modifiqué el archivo web.config y establecí el modo de autenticación en Ninguno. Me sale el mismo error.
Si entro en el sitio web, IIS/Autenticación y habilito la Autenticación de Windows, me induce a ingresar un nombre de usuario/contraseña. Si ingreso mis credenciales, funciona. Sin embargo, me preocupa que solo funcione porque en realidad me está haciendo pasar por un servidor (y tengo acceso a todo). Realmente no necesito/quiero la suplantación en el sitio web. Solo estoy usando la autenticación de Windows para no tener que mantener dos grupos de inicios de sesión. El sitio web solo verifica las funciones de las que el usuario es miembro para mostrar u ocultar el contenido de forma selectiva. La página predeterminada en el sitio web no tiene ningún atributo [Autorizar] establecido en el controlador. está configurado en el archivo web.config.
Pregunta secundaria: ¿por qué se me solicitará mi nombre de usuario/contraseña? ¿No ocurriría el desafío/respuesta automáticamente y solo se lo preguntaría si la autenticación falla?
Obviamente hay algo de interacción aquí que no entiendo, pero no sé qué. No veo ningún error útil en el registro de eventos.
He buscado el error e intenté algunas de las soluciones ya, por ejemplo, intenté restablecer la configuración de ASP.NET desde la línea de comandos utilizando: aspnet_regiis -i sin tener suerte.
Resuelta
yo era capaz de conseguir este trabajo. En la configuración del sitio web, hay una opción de "Autorización .NET". Esto fue configurado para denegar a todos los usuarios anónimos. Eliminé esa regla, luego agregué una regla para permitir a todos los usuarios anónimos. Ahora podría acceder al sitio sin iniciar sesión. Luego ingresé a la Autenticación de IIS y habilité la Autenticación de Windows y deshabilité la Autenticación anónima.
Internet Explorer pasa las credenciales sin preguntar. Firefox solicita credenciales.Existe una configuración para configurar esta configuración:
- abierto Firefox
- Ir a: about: config (y estoy de acuerdo para continuar)
- Filtro para: network.automatic
- doble clic en la red .automatic-ntml-auth.trusted-uris
- Agregue su sitio (varios sitios pueden estar delimitados por comas). Incluya la porción http: //.
La máquina en la que estoy probando no tiene Chrome, pero parece que funciona bien en mi desarrollador. máquina.
Si permiten contestar tu propia pregunta, yo renunciaré a tu resolución. Resolvió mi problema. –