none
No se obtiene usuario de dominio RRS feed

  • Pregunta

  • Buenas,

    Tengo una aplicación Intranet (Autenticación Windows). Estoy obteniendo el usuario de la siguiente manera:

    string userName = User.Identity.Name.ToLower();

    Se obtiene correctamente desde Visual Studio pero no cuando publico en IIS (se obtiene una cadena vacía). Quizás haya que configurar algo en el IIS.

    Favor su apoyo, muchas gracias,

    Saludos.

    sábado, 4 de julio de 2015 1:35

Todas las respuestas

  • hola

    >>Se obtiene correctamente desde Visual Studio pero no cuando publico en IIS

    pero en el sitio creado en el IIS defines la seguridad como integrada al dominio ?

    imagen

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    sábado, 4 de julio de 2015 5:52
  • Quizás haya que configurar algo en el IIS.

    • El servidor IIS tiene que ser miembro del dominio.
    • El modo de autenticación en IIS tiene que tener habilitada la autenticación NTLM (en el IIS Manager pone "Windows authentication").
    • Deshabilitar la autenticación anónima en las páginas en las que quieras usar el User.Identity.Name.
    • Asegurarse de que los PCs "ven" al servidor como "zona intranet". Si lo ven como "zona internet", de forma predeterminada no envían las credenciales de dominio (aunque se pueden reconfigurar para que lo hagan).
    sábado, 4 de julio de 2015 6:40
  • Leandro y Alberto, gracias por responder.

    El servidor es nuevo y la aplicación es la primera a publicarse en este server. Encontré que no tiene la característica para la Autenticación Windows así que tuve que activarla y con esto ya es visible. Recuerdo que hace algún tiempo cuando desarrollaba en VS2010 y publicaba en un Server IIS 7 le indicaba el modo de autenticación de la siguiente manera en el web.config:

    <authentication mode="Windows" />

    Y funcionaba como tal. Ahora estoy haciendo lo mismo pero no funciona, debo hacerlo manualmente desde la interfaz del IIS desabilitando la autenticación anónima y activando la autenticación Windows y con esto ya detecta el usuario, aunque me está mostrando una alerta:


    Siguiendo el enlace me lleva una página de soporte de Microsoft respecto de la Protección extendida, al parecer debo agregar algo como lo siguiente en el config:

    <location path="Sitio web predeterminado">
       <system.webServer>
          <security>
             <authentication>
                <windowsAuthentication enabled="true">
                   <extendedProtection tokenChecking="Permitir" flags="Ninguno">
                      <spn name="HTTP/www.contoso.com" />
                      <spn name="HTTP/contoso.com" />
                   </extendedProtection>
                </windowsAuthentication>
             </authentication>
          </security>
       </system.webServer>
    </location>

    Saludos.




    • Editado eduar2083 sábado, 4 de julio de 2015 12:41
    sábado, 4 de julio de 2015 12:34