none
Configurar la delegación en IIS 10.0 RRS feed

  • Pregunta

  • Tengo una aplicación web (Asp.Net) en dos servidores balanceados IIS 10.0 (servidores front-end).

    Querría que esta aplicación cogiera la identidad del usuario cliente y llamara a un servicio web hospedado en un servidor back-end IIS 10.0 también, pasando la identidad del usuario que ha iniciado la petición.

    La aplicación web en los servidores front-end está configurada de la siguiente manera:

    • Como una aplicación web dentro de un site con un hostheader (hostHeaderFontEnd.dev.int)
    • IIS>Authentication: Anonymous=Disabled, Windows Authentication=Enabled y Asp.Net Impersonation=Enabled
    • Application Pool independiente para la aplicación web con Identity="ApplicationPoolIdentity", .Net CLR Version=v4.0 y Managed Pipeline Mode=Integrated.

    He habilitado en los dos servidores de front-end: "Trust this computer for delegatiion to any service (Kerberos only)"

    El Servicio web está hospedado en un servidor de backend:

    • Como una aplicación web dentro de un site con un hostheader (hostHeaderBackEnd.dev.int)
    • IIS>Authentication: Anonymous=Disabled, Windows Authentication=Enabled y Asp.Net Impersonation=False
    • Application Pool independiente para la aplicación web con Identity="<DomainUser>", .Net CLR Version=v4.0 y Managed Pipeline Mode=Integrated.


    La aplicación coge correctamente el usuario de Windows, pero cuando llama al servicio web hospedado en un servidor remoto de backend da el error siguiente:

    "The request failed with HTTP status 401: Unauthorized"

    Si el servicio está en los mismos servidores de font-end el servicio se llama correctamente.

    Entiendo que es un problema con la delegación.

    He definido un SPN para el host header: hostHeaderBackEnd.dev.int y el usuario que ejecuta la aplicación en el IIS (<DomainUser>), pero sigue sin funcionar.

    Alguien me puede ayudar?

    Gracias,

    Eva Janakieff



     

    viernes, 24 de septiembre de 2021 7:51