Definición de la cadena de conexión mediante la autenticación de Windows en todos los dominios para acceder al servidor SQL

Tengo problemas para definir la cadena de conexión en una aplicación de servicio de Windows. El servidor SQL y el servicio de Windows están en diferentes dominios, y ese es el problema. Sin embargo, sé que esto es posible, porque al usar runas.exe en la terminal con estos parámetros no hay problema.

%windir%\system32\runas.exe /noprofile /netonly /user:DOMAIN1\%USERNAME% "ssms -nosplash -S SQLServerName -E"

Entonces el problema debería estar en mi cadena de conexión. ¿Cómo puedo modificar mi cadena de conexión para acceder al servidor de la misma manera? Mi cadena de conexión ahora se ve así:

<connectionStrings>
<add name="MyEntities" connectionString="metadata=res://*/DataAccess.MyDatabase.csdl|res://*/DataAccess.MyDatabase.ssdl|res://*/DataAccess.MyDatabase.msl;
     provider=System.Data.SqlClient;provider connection string=&quot;data source=SQLServerName;
     initial catalog=MyDatabase;Trusted_Connection=yes;User Id=DOMAIN1\USERNAME;Password=*****;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

ACTUALIZACIÓN

Parece que no es posible replicar exactamente el comando runas.exe. Traté de usar la suplantación como explicó podiluska. Pero esto solo funciona si el usuario puede ejecutar en el dominio actual. En mi caso no puedo, quiero enviar las credenciales de Windows como parámetros al conectarme a la base de datos, porque ese usuario no puede iniciar sesión en el dominio actual. ¿Alguien puede confirmar que esto es imposible?

preguntado el 04 de julio de 12 a las 08:07

Seguramente en su cadena de conexión eso es DOMINIO\\NOMBRE DE USUARIO? barra invertida doble? -

¿estás seguro? no creo que ese sea mi problema -

1 Respuestas

Debe usar la suplantación, ya sea en el grupo de aplicaciones de IIS o agregando una línea a web.config

 <identity impersonate="true" userName="DOMAIN1\UserName" password="****" /> 

(y elimine las entradas de identificación de usuario/contraseña de la cadena de conexión

Respondido 04 Jul 12, 08:07

Intenté agregar esa línea ( ) bajo etiqueta en mi app.config y luego elimine el nombre de usuario/contraseña de la cadena de conexión. Pero sigo recibiendo este error: "Error de inicio de sesión: el inicio de sesión es de un dominio que no es de confianza y no se puede usar con la autenticación de Windows" - Zeezer

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.