views:

28

answers:

1

Hi,

Let me explain briefly how the app is being setup (by the previous architect).. I have the following app:

  1. Server1
  2. Server2
  3. WPF app which installed on the client desktop
  4. WCF app which hosted on IIS in Server1
  5. SQL server instance which installed on Server2 (with internal IP addr 10.111.3.10)

WPF on client side calls the WCF service on Server1 and WCF on server1 accesses the database on Server2. The connection string on WCF web config (server1) looks like this:

<add name="App.ConnectionString" 
     connectionString="Persist Security Info=False;Initial Catalog=customerDB;Data Source=10.111.3.10;Integrated Security=SSPI">

There is a windows account (say winAcc1) on the Server2 which is currently dedicated as DBowner of customerDB.

Now the question is "How does the WCF on Server1 know to access the database with "winAcc1" windows account?" I have checked on web config or anywhere app and i could not find any impersonation or programatically set the network credential to be "winAcc1".

Can anyone please explain?

A: 

Check the application pool of the IIS site the WCF endpoint is in. winAcc1 may be configured as the identity for that application pool. If impersonation of the client is disabled, that's the user that will be used for the database connection.

Jonathan
I cheked the app pool of WCF. and it is running under local windows account (not domain windows account).
if the Server1 has the same name of windows account with the one in Server2, does it effect how things work? On Server1 it has Server1\winAcc1 with local admin group and on Server2 it has Server2\winAcc1 without local admin group.