Foros del Web » Programando para Internet » ASPX (.net) »

Conexion a SQL Server

Estas en el tema de Conexion a SQL Server en el foro de ASPX (.net) en Foros del Web. Hola... Alguien sabe como puedo realizar una conexion con una base de datos SQL Server remota? pero con una autentificacion Windows... O por ultimo, como ...
  #1 (permalink)  
Antiguo 30/06/2009, 14:33
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
Conexion a SQL Server

Hola...

Alguien sabe como puedo realizar una conexion con una base de datos SQL Server remota? pero con una autentificacion Windows...

O por ultimo, como darle a una cuenta usuario de SQL Server los permisos para poder acceder o ver equipos de red?
__________________
KIBIT.cl
  #2 (permalink)  
Antiguo 30/06/2009, 15:56
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Respuesta: Conexion a SQL Server

Remotamente? Solo se me viene a la mente VPN (Opcional) y ActiveDirectory.
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
  #3 (permalink)  
Antiguo 30/06/2009, 16:02
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
Respuesta: Conexion a SQL Server

Pero así solo, sin necesidad de alguna herramienta externa.

Estuve leyendo y probando con la Impersonación y en mi web.config agregué la siguiente línea:

Código:
<identity impersonate="true" userName="VM53\Administrator" password="miclave"/>
Ese username y password corresponden a los del SQL Server. Si ejecuto la aplicación tal cual, no da ningún error, si por ejemplo le cambio la clave produce un error, por lo tanto deduzco que esa impersonacion funciona. Ahora, si quiero conectar con SQL Server utilizando esos datos obtengo el siguiente error:

Código:
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
--

Otra solución que sirve a mi problema es saber como a una cuenta de usuario de SQL Server darle los "permisos" para poder tener acceso a la red, ya que actualmente si utilizo un Linked Server a un archivo ubicado en un directorio compartido me da el siguiente error:

Código:
OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "TXT" returned message "'\\11.12.13.14\directorio' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.".
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "TXT".
Si trato de ejecutar la misma consulta pero con una autentificación Windows en SQL Server funciona sin problema.
__________________
KIBIT.cl

Última edición por Snd234; 30/06/2009 a las 16:07
  #4 (permalink)  
Antiguo 01/07/2009, 06:20
Avatar de pyroCL  
Fecha de Ingreso: marzo-2009
Ubicación: C#
Mensajes: 261
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Conexion a SQL Server

Hola.
Vamos por parte.

Para que te puedas conectar a SQL SERVER con la autentificacion de Windows, el usuario de windows con su respectiva clave debe tener permisos de conexión a tu base de datos.

Para poder obtener el usuario de windows desde C# se hace de la siguiente forma

Código:
//incluyes esta librería
using System.Security.Principal;
y luego en un botón o en lo que quieras incluyes este código, el cual retorna el nombre de suaurio de windows

Código:
WindowsIdentity a;
            a = WindowsIdentity.GetCurrent(); //obtienes el usuario actual
            string[] nombre; 
            /*La variable nombre guardará sólo
             *el nombre de usuario
             */
            nombre = a.Name.Split('\\');
Espero te ayude en algo...
  #5 (permalink)  
Antiguo 01/07/2009, 08:26
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
Respuesta: Conexion a SQL Server

Lo intente, pero al crear ese usuario en SQL Server me dice:
Código:
Windows NT user or group 'VM47\IUSR_VM47 ' not found. Check the name again. (Microsoft SQL Server, Error: 15401)
__________________
KIBIT.cl
  #6 (permalink)  
Antiguo 01/07/2009, 11:23
Avatar de pyroCL  
Fecha de Ingreso: marzo-2009
Ubicación: C#
Mensajes: 261
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Conexion a SQL Server

mmm...

a ver prueba con este otro código, hace exactamente lo mismo.
ve que nombre te retonra, si es que te está retornando el nombre de usuario windows.


Código:
string nombre = Context.Request.ServerVariables["AUTH_USER"];
nombre = nombre.Split('\\')[1];
Label2.Text = nombre;
  #7 (permalink)  
Antiguo 01/07/2009, 11:36
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 9 meses
Puntos: 15
Respuesta: Conexion a SQL Server

La verdad una computadora fuera de un dominio que con un simple xml de acceso te ingrese a una red estructurada imposible sino imagínate la vulnerabilidad que eso representara.

Lo que puedes hacer sería:
1- Usar VPN
2- Usar un intermediario que podria ser un WebServices ó un Servicio WCF hospedado en la RED en un servidor que comparta el mismo dominio con la base de datos.
3- Exponer la base de datos con un ip público para que sea accesda por un ConnectionString usando el IP

Saludos,
  #8 (permalink)  
Antiguo 01/07/2009, 13:59
Avatar de pyroCL  
Fecha de Ingreso: marzo-2009
Ubicación: C#
Mensajes: 261
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Conexion a SQL Server

Si estás en una intranet y el servidor donde tienes la plataforma web está en la misma intranet si se puede acceder al nombre de usuario con el ServerVariable.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:12.