Vijay
Vijay

Reputation: 247

how to connect a remote SQLserver using widows authentication from a .net application, if possible

currently I am using this connection string inside the app.config file of the application

add name="LightSailEntities" connectionString="metadata=res://*/LightSailEntities.csdl|res://*/LightSailEntities.ssdl|res://*/LightSailEntities.msl;provider=System.Data.SqlClient;provider connection string='data source=abc.xyz.com;initial catalog=LightSail;user id=LightSail; password=yourpasswordhere;MultipleActiveResultSets=True;App=EntityFramework'" providerName="System.Data.EntityClient"

The domain of .Net application and the domain of client, using .Net application, is different from domain of SQL server. I mentioned "using widows authentication" only because of, I have the access of the server machine(means I can use Remote Desktop Connection) on which the SQL server is installed.

Upvotes: 0

Views: 1279

Answers (3)

Emanuele Greco
Emanuele Greco

Reputation: 12721

You have to change ConnectionString to use Integrated Security=SSPI insetad of user and password

add name="LightSailEntities" 
connectionString="metadata=res://*/LightSailEntities.csdl|res://*/LightSailEntities.ssdl|res://*/LightSailEntities.msl;
provider=System.Data.SqlClient;
provider connection string='data source=dev.shopcube.com;initial catalog=LightSail;Integrated Security=SSPI;MultipleActiveResultSets=True;App=EntityFramework'" 
providerName="System.Data.EntityClient"

After that, look at the Identity set for the Application Pool of you application.
That user must be authorized to access your DB using Security\Logins inside Object Explorer pan of Management Studio.

Upvotes: 1

Marcin Buciora
Marcin Buciora

Reputation: 449

Youo can use following code:

SqlConnection conn = new SqlConnection(Configuration.DBConn);

or if you use Linq2SQL:

DBContext ctx = new DBContext(Configuration.DBConn);

where in Configuration class DBConn string contains connection string to sql ie:

Data Source=XYZ\\DEV;Initial Catalog=YOURDB;Integrated Security=True;Connect Timeout=600;connection lifetime=600

Integrated Security=True tells that you want to use windows auth.

Upvotes: 0

Vaze
Vaze

Reputation: 144

For Windows Auth you don't need to set the User Id and Password but you do need to include 'Integrated Security=SSPI;'

Try:

add name="LightSailEntities" connectionString="metadata=res://*/LightSailEntities.csdl|res://*/LightSailEntities.ssdl|res://*/LightSailEntities.msl;provider=System.Data.SqlClient;provider connection string='data source=dev.shopcube.com;initial catalog=LightSail;Integrated Security=SSPI;MultipleActiveResultSets=True;App=EntityFramework'" providerName="System.Data.EntityClient"

There's a bit more info here: http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring(VS.71).aspx

Upvotes: 2

Related Questions