19 votos

401 - no autorizado En el Servidor 2008 R2 IIS 7.5

Tengo una aplicación web implementada para Server 2008 IIS 7.5 cuadro.

De mando, se le da este error: 401 - Unauthorized: Access is denied due to invalid credentials. (remoto = escritorios en la misma LAN)

Se han intentado varios clientes remotos utilizando diferentes navegadores, todos el mismo resultado. (IE, FF y Chrome)

Golpear la aplicación desde el escritorio del servidor en sí funciona a la perfección. Sin embargo, yo no he probado Firebug en el escritorio del servidor. Supongo que todavía es la emisión de un código de estado 401 sin embargo, devolviendo el contenido de todos modos. Ver Actualización #2.

La aplicación está utilizando la Autenticación Anónima.

La aplicación está escrita en .NET 4.0 Asp.Net utilizando el marco de MVC.

Contenido estático funciona bien, por ejemplo: http://server.com/content/image.jpg

Sysinternals procmon devuelve estos 2 resultados para cada solicitud: RÁPIDO IO no permitidos y la PATHNO ENCONTRADA.

Tengo otras 2 MVC aplicaciones que se ejecutan bien en el mismo servidor. He comprobado la seguridad en las carpetas y todos coinciden.

La aplicación funciona muy bien en un Server 2008 IIS 7.0 cuadro.

Nada se muestra en el registro de Sucesos en el servidor en el que se relacionan.

Tirando de mi cabello fuera de aquí, cualquier sugerencias de solución de problemas?

ACTUALIZACIÓN #1: Este acaba de obtener más WTF como me gustan.

Si hago clic en la Aplicación en el Administrador de IIS -> Páginas de Error -> Editar Ajustes de la Función de seleccionar Detailed Errors, la aplicación funciona de forma remota. No sale de esta, así que el problema no está resuelto todavía, sencillamente, es más confuso.

ACTUALIZACIÓN #2: Uso de Firebug, veo que la Situación es todavía 401 Unauthorized, pero la Respuesta es volver a la aplicación del código HTML correcto.

ACTUALIZACIÓN #3 Jugando con Seguimiento de solicitudes con Error, aquí está la ADVERTENCIA de Solicitud de Seguimiento que está causando el 401:

ModuleName ManagedPipelineHandler
Notification 128
HttpStatus 401 
HttpReason Unauthorized 
HttpSubStatus 0 
ErrorCode 0 
ConfigExceptionInfo  
Notification EXECUTE_REQUEST_HANDLER 
ErrorCode The operation completed successfully. (0x0)

Actualización #4 Regular de registro de IIS está mostrando este:

#Software: Microsoft Internet Information Services 7.5
#Version: 1.0
#Date: 2010-07-20 19:17:22
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2010-07-20 19:17:22 10.10.1.10 GET /Purchasing/Home - 80 - 10.10.1.12 Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+en-US;+rv:1.9.2.6)+Gecko/20100625+Firefox/3.6.6 401 0 0 4414

18voto

mxmissile Puntos 382

A veces tienes que dar un paso atrás... La causa de esto era que tenía un Html.RenderAction() , en mi opinión, que llama a un método de acción que fue marcado con el [Authorize] de atributo.

3voto

CTom Puntos 11

Por alguna razón esta solucionado mi problema.

Haga clic en el sitio en IIS. Haga doble clic en autenticación Haga clic derecho y elija la configuración Avanzada De-seleccione "Habilitar el Kernel en modo de autenticación"

3voto

Elfdragore Puntos 11

Usted tendrá este mismo comportamiento cuando se dispone de un filtro para la autorización personalizado que hereda de AuthorizeAttribute y una o más llamadas a OnAuthorization método , con uno de ellos, estableciendo AuthorizationContext.Result `HttpUnauthorizedResult'

1voto

Scott Forsyth - MVP Puntos 12030

Ya que funciona a nivel local, pero no de forma remota, me suena que la cuenta de usuario anónimo no tiene acceso a algo, pero tu usuario de windows. Para probar esto, desactive la Autenticación de Windows para el sitio web y a ver si se rompe a nivel local.

Lo que se está rompiendo es probable que se ejecuta como su identidad del sitio web en lugar de la aplicación de la piscina de la identidad, de lo contrario se rompería de forma local y remota. Mi recomendación si tiene de 1 a 1 las asignaciones de los sitios a los grupos de aplicaciones, o que tienen un gran entorno de confianza, es para configurar la cuenta de usuario anónimo para el uso de la aplicación de la identidad del grupo. Entonces usted no necesita preocuparse acerca de 2º de usuario a mantener.

Usted ha mencionado proceso explorer. Eso es bueno para la búsqueda de ejecución de info, pero la herramienta que probablemente va a descubrir errores de acceso denegado es processmon (también de sysinternals). Pruébalo, reproducción y captura, a continuación, busque la palabra 'denegado'. Se debe girar hasta cualquier acceso denegado temas en el disco.

-1voto

poseid Puntos 1911

Hizo usted compruebe los ajustes en las reglas de Autorización? Si alguien puede acceder a esta página (que parece ser su objetivo) asegúrese de que tiene una regla de "Permitir" que tiene "Todos los Usuarios" bajo la columna de los usuarios.

A continuación, en "Autenticación" asegúrese de que no hay conflictos y Anónimos sólo está habilitada la Autenticación.

Espero que ayude.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: