"401 no autorizado" en un directorio

86

Supongo que esto es un error de IIS, ya que esto no sucede si ejecuto el proyecto en mi máquina local.

Tengo mis hojas de estilo en ~/Content/css

Los archivos de ese directorio no se cargarán en la página y, cuando navego hacia ellos directamente, aparece un error del servidor:

401 - No autorizado: acceso denegado debido a credenciales no válidas.

No tiene permiso para ver este directorio o página con las credenciales que proporcionó.

Esto solo sucede con ese directorio, no tengo problemas para acceder a otros archivos. ¿Hay algo que deba hacer en IIS7 para detener esto?

Steven
fuente

Respuestas:

46

Es probable que no tenga el permiso IUSR_ computername en esa carpeta. Acabo de realizar un escaneo rápido y parece que aquí encontrará la información que necesita .

Si ese no es el caso, ¿el navegador le solicita su nombre de usuario y contraseña? Si es así, es posible que IIS esté configurado para usar solo la autenticación integrada, como se describe aquí .

m.edmondson
fuente
4
Si está utilizando un grupo de aplicaciones para administrar su acceso al sistema de archivos / db, no haga esto. Siga leyendo para ver la respuesta de imanabidi a continuación.
Ryan Shillington
gracias, en mi caso acabo de agregar a todos con control total
MorenajeRD
8
support.microsoft.com/kb/313075 : esta página ya no existe. @ m.edmondson
Divya
294
  1. Abra IIS y seleccione el sitio que está causando 401
  2. Seleccione la propiedad de autenticación en el encabezado de IIS
  3. Seleccione Autenticación anónima
  4. Haga clic derecho sobre él, seleccione Editar y elija Identidad del grupo de aplicaciones
  5. Reinicie el sitio y debería funcionar
jasenkoh
fuente
13
Funciona pero ¿por qué? ¿Puedes explicar un poco más?
nthapa
2
Esto parece funcionar porque, de forma predeterminada, el "usuario específico" para la autenticación anónima es IUSR, como se menciona en la respuesta aceptada. Sin embargo, la identidad establecida en el grupo de aplicaciones debe tener permisos para todo el sitio web, o el sitio no se cargaría. Entonces, si bien mi cuenta IUSR no tenía acceso (de hecho, parece no existir), la cuenta que usa el grupo de aplicaciones sí.
Johann
6
Esto funciona, pero lo que es confuso es que solía funcionar bien durante aproximadamente 2 años y luego hoy, sin razón conocida, dejó de funcionar ... su solución lo solucionó.
Serj Sagan
¡Pasé horas en este problema y no tuve suerte hasta que encontré esto! Tenía una aplicación web MVC 5 que, una vez publicada en modo de lanzamiento, y luego cargando el sitio en Chrome, el contenido se cargaba pero los estilos no. Los enlaces están ahí y los caminos son correctos, sin embargo, ¡todos estaban vacíos! Esta solución resolvió mi problema.
DAME POLLO
en mi caso, solo tuve que habilitar la autenticación anónima, ya que estaba deshabilitada de forma predeterminada cuando se creó la aplicación
Paul
14
  • Abrir IIS
  • seleccione el sitio donde enfrenta el problema

  • Seleccione a continuación

ingrese la descripción de la imagen aquí

- Haga clic derecho en Autenticación anónima y haga clic en editar y siga a continuación

ingrese la descripción de la imagen aquí

Siddhartha
fuente
5

No tiene permiso para ver este directorio o página con las credenciales que proporcionó.

Esto sucedió a pesar de que el usuario ya está autenticado a través de Active Directory.

Puede haber muchas causas para el error de Acceso denegado, pero si cree que ya ha configurado todo correctamente desde su aplicación web, es posible que haya un pequeño detalle que se haya olvidado. Asegúrese de otorgar el permiso adecuado a los usuarios autenticados para acceder al directorio de su aplicación web.

Estos son los pasos que tomé para resolver este problema.

  1. Haga clic con el botón derecho en el directorio donde está almacenada la aplicación web, seleccione Propiedades y haga clic en la pestaña Seguridad.

  2. Haga clic en Haga clic en Editar…, luego en el botón Agregar…. Escriba Usuarios autenticados en el botón Introduzca los nombres de los objetos para seleccionar y luego Agregar . Escriba Usuarios autenticados en Introduzca los nombres de los objetos para seleccionar.

  3. Haga clic en Aceptar y debería ver Usuarios autenticados como uno de los nombres de usuario. Otorgue los permisos adecuados en el cuadro Permisos para usuarios autenticados en el extremo inferior si aún no están marcados.

  4. Haga clic en Aceptar dos veces para cerrar el cuadro de diálogo. Debería tener efecto de inmediato, pero si desea estar seguro, puede reiniciar IIS para su aplicación web.

Actualice su navegador y debería mostrar la página web ahora.

¡Espero que esto ayude!

Kent Aguilar
fuente
2

Debe verificar los permisos de la carpeta en su servidor y verificar que la cuenta que está utilizando para ejecutar su aplicación tenga acceso a esa carpeta.

Gaz Winter
fuente
0

Para mí, el acceso de usuario anónimo estuvo bien en el nivel del servidor, pero varió en una de mis carpetas "virtuales".

Me tomó un poco hundirme y luego un poco de ayuda de un colega para saber que IIS también tiene configuraciones de "autenticación" en el nivel de carpeta virtual; con suerte, esto ayudará a alguien más con mi situación.

user6096790
fuente
0

En nuestro caso, fue la autenticación integrada en Windows especificada en la aplicación web.config

PERO el módulo de autenticación de Windows no se instaló en absoluto en la máquina IIS.

Solo agrego otra posible razón.

Alex
fuente
-4

Otra solución simple que encontré fue eliminar el sitio IIS local (desde el Administrador de IIS) y luego volver a crear el directorio virtual desde las "Propiedades" de su proyecto web en Visual Studio.

KWondra
fuente