none
IIS 7 - Integrated Security para una Intranet

    Question

  • Buenos dias; ya estoy a punto de tirar la toalla, tanto nadar para ahogarme en la orilla :-)
    Mi proyecto ASP funciona de maravilla en el ambiente de VS 2008, conectandose a SQL Server 2008 con mi usuario de red:
    Data Source=SERVER07;Initial Catalog=BDRODUCCION;Integrated Security=SSPI;Application Name=PrepagoNet;

    Como es un desarrollo para una intranet (y ejecuta procedimientos de otro sistema) necesito que los usuarios se conecten a la base con su login de dominio; y es ahi donde empiezan los problemas.
    Lo publico en el IIS de mi misma maquina (Win 7), luego le habilito la "Autentificacion de Windows", lo pruebo y me muestra :

    Login failed for user 'DOMINIO\PC060$'.

    Lo ejecuto desde otra maquina y me muestra exatamente el mismo mensaje, si, con el mismo nombre de mi maquina.
    Le adiciono (habilito) en el IIS la autentificacion de "Suplantacion de ASP.NET" y en mi maquina se ejecuta satisfactoriamente! se conecta con mi usuario NT a la base sin problemas.
    Pero si lo ejecuto desde una tercera maquina, muestra lo siguiente:

    Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.

    :-( alguien ha logrado hacer esto? autentificarse satistactoriamente, con su usuario del AD a una base SQL Serer mediante ASP?
    Por que encuentro bastante documentacion en internet, todos hablan de habilitar la autentificacion windows, pero no es suficiente, por eso necesito q alguien lo haya logrado hacer verdaderamente sin morir en el intento.

    Nota : por que se complicara tanto microsoft con esto? si es un desarrollo para una intarnet deberia aceptar la autentificacion de windows sin mayor problema.

    Saludos.

    • Edited by Edwin Delgado Thursday, September 19, 2013 5:10 PM caracteres de mas
    Thursday, September 19, 2013 5:08 PM

All replies

  • Puedes probar a habilitar en tu web.config la impersonacion. Básicamente consiste en que a través del fichero de configuración estableces un usuario y password y el proceso asp.net se ejecuta con sus credenciales.

    Para configurarlo pon esto en el web.config de tu aplicativo.

    <system.web>
    
    <identity impersonate="true"
              userName="domain\user" 
              password="password" />
    </system.web>


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    Thursday, September 19, 2013 6:54 PM
  • Establece una cuenta que tenga permisos sobre la bbdd

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    Thursday, September 19, 2013 6:55 PM
  • hola

    no uses seguridad integrada en sql server, usa la seguridad de sql server definiendo usuario y password

    imagen

    con esto en el connection string puede definir usuario y password asi no tendras el problema con la autenticacion windows en el application pool que asignes al sitio

    por que se complicara tanto microsoft con esto? si es un desarrollo para una intarnet deberia aceptar la autentificacion de windows sin mayor problema.

    el tema no es windows, sino es el usuario con que ejecuta el servicio de iis, es el usuario que defines en el Application Pool del sitio web

    usa esas credenciales para conectarse a la db y esas son als que no tiene permiso a la db

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    Thursday, September 19, 2013 7:15 PM