Tengo ASP3 y SQL Server 2000 en un servidor Windows 2000 de la Intranet de la empresa.
La mayoría de las aplicaciones requieren de saber quien esta accesando, de manera que deshabilito el acceso anónimo en la aplicación, habilito la Integrated Windows Authentication; y en mis ASP ejecuto esto para conocer el login del usuario y poderla usar en algunos Stored Procedures:
Código:
Una vez que esta todo eso preparado creo un usuario que representa esa aplicacion y le asigno su password y los permisos necesarios. Con ese usuario es que creo mi cadena de conexion y acceso a la DB.If InStr(1, Request.ServerVariables("LOGON_USER"), "\") = 0 Then User = Mid(Request.ServerVariables("LOGON_USER"), _ InStr(1, Request.ServerVariables("LOGON_USER"), "/") + 1) Else User = Mid(Request.ServerVariables("LOGON_USER"), _ InStr(1, Request.ServerVariables("LOGON_USER"), "\") + 1) End If
Eso me ha funcionado bien, pero me he llenado de muchos usuarios pequeños que solo corren aplicaciones dentro de SQL Server, de manera que decidí explorar un poco con la Trusted Connection en el coneection string.
Aqui empiezan los problemas, supuse que simplemente agregando el usuario MiServidor\IUSR_MISERVIDOR como un usuario en la DB y otorgandole los permisos habituales me libraría de crear un usuario por aplicación, y así podría usar este para todas mis aplicaciones.
Pero al parecer al yo desactivar el acceso anonimo de la aplicacion (en IIS) los usuarios intentan autenticarse al SQL Server con su propio login, y no con el de la cuenta de IIS (error de autenticacion). Eso me supone un problema porque no quiero crear grupos en Active Directory en los que muchas veces estarían TODOS los empleados de la empresa, puesto que su login lo uso con fines de registro, pero no necesariemente de autenticación.
Después de esta tremenda carta...
¿Alguien sabe que puedo hacer?
¿Como puedo manejar la seguridad integrada sin necesidad de crear grupos AD?
Gracias