2009-08-11 19 views
8

Tengo una aplicación ASP.Net 2.0 que usa autenticación de Windows integrada para autenticar/autorizar usuarios. La aplicación funciona bien en Windows XP/IIS 5.1, Windows Server 2008/IIS 7 y Windows Vista/IIS 7. Cuando intento ejecutar esta aplicación en Windows 7/IIS 7.5, obtengo la siguiente excepción: The trust relationship between this workstation and the primary domain failed.Autenticación de Windows en IIS 7.5. Error con la relación de confianza Excepción

el seguimiento de la pila es el siguiente:

[SystemException: The trust relationship between this workstation and the primary domain failed. 
] 
    System.Security.Principal.NTAccount.TranslateToSids(IdentityReferenceCollection sourceAccounts, Boolean& someFailed) +1085 
    System.Security.Principal.NTAccount.Translate(IdentityReferenceCollection sourceAccounts, Type targetType, Boolean forceSuccess) +46 
    System.Security.Principal.WindowsPrincipal.IsInRole(String role) +128 
    System.Web.Configuration.AuthorizationRule.IsTheUserInAnyRole(StringCollection roles, IPrincipal principal) +229 
    System.Web.Configuration.AuthorizationRule.IsUserAllowed(IPrincipal user, String verb) +354 
    System.Web.Configuration.AuthorizationRuleCollection.IsUserAllowed(IPrincipal user, String verb) +245 
    System.Web.Security.UrlAuthorizationModule.OnEnter(Object source, EventArgs eventArgs) +11153304 
    System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171 

el archivo web.config contiene la siguiente información relacionada con la autenticación/autorización:

<authentication mode="Windows" /> 
<authorization> 
    <!--Deny anonymous users--> 
    <deny users="?"/> 
    <allow roles="domain\GroupWithAccess"/> 
    <deny users="*"/> 
</authorization> 

la mayor parte de los resultados que encontré cuando la investigación de este estado de error que el problema está relacionado con un roto cuenta de equipo en el dominio y enumere la solución como volver a unir el dominio. Lo he hecho, pero el error aún aparece. Las operaciones de dominio "normales" funcionan bien (accediendo a recursos compartidos de UNC, iniciando sesión, etc.).

Esta aplicación se ejecuta en el Classic .Net AppPool por razones de compatibilidad. Traté de cambiar la identidad de la AppPool a "NetworkService", pero el error aún persiste.

Cualquier ayuda es muy apreciada.

Respuesta

5

Finalmente encontré una respuesta a esto después de experimentar el mismo problema en Windows Server 2008 R2. De this article:

Deshabilite las siguientes políticas en el servidor de Windows 2008 R2, ejecute gpupdate/force y reinicie el servidor.

"Configuración del equipo \ Windows Configuración \ Configuración de seguridad \ Directivas locales \ Opciones de Seguridad"

Miembro de dominio: descifrar o firmar digitalmente datos de un canal seguro (siempre)
Miembro de dominio: descifrar digitalmente datos de un canal seguro (cuando sea posible)
miembro de dominio: firmar digitalmente datos de un canal seguro (cuando sea posible)

puedo confirmar que esto esté arreglado el problema en Windows 7 también.

+0

No tengo control sobre AD tiene que haber un cambio de configuración que pueda hacer para que funcione –

+0

El artículo vinculado apunta a KB976494 que es para Server 2008 R2 * RTM *. Para SP1, la solución ya está incluida. Vea mi comentario sobre la respuesta de @jishi. Sin embargo, no estoy seguro si esta solución alternativa aún puede aplicarse en algunos casos. – piers7

-1

Supongo que esta máquina con Windows 7 tiene algún problema para acceder al dominio. Así que le sugiero que,

  1. Elimine esta máquina con Windows 7 del dominio.
  2. Únete a esta máquina de nuevo al dominio.

No debe tener nada relacionado con Windows 7 o el servidor IIS, ya que si busca utilizando el mensaje de error "La relación de confianza entre esta estación de trabajo y el dominio principal falló" puede encontrar que la mayoría de los resultados están relacionados con directorio.

+0

Como mencioné en la pregunta original, ya he intentado volver a unir la máquina al dominio pero no ayudó. –

1

estoy añadiendo esto para futuras referencias:

"Error 1789, cuando se utiliza la función LookupAccountName en un equipo que ejecuta Windows 7 o Windows Server 2008 R2"

http://support.microsoft.com/kb/976494

Eso podría ser una solución al problema también.

+0

Tenga en cuenta que KB976494 está * incluido * en SP1 para Windows Server 2008 R2 (y por lo tanto ya no puede instalarse). Si está ejecutando SP1, esta no es la solución que está buscando. Consulte https://support.microsoft.com/en-au/help/976932/information-about-service-pack-1-for-windows-7-and-for-windows-server-2008-r2 (y descargue Excel manifiesto para el SP por desgracia) – piers7

Cuestiones relacionadas