Groups | Blog | Home
all groups > asp.net security > november 2004 >

asp.net security : Connect to MS Access DB on different server


Roby2222
11/1/2004 3:20:02 PM
I am trying to connect to a Microsoft Access database, located on a different
server. I am using ASP.NET and the code I am using works when run from my
local IIS, but it does not work when I deploy the project to the web server.
The database is not on the web server or my local machine. I am currently
using a DSN, which is setup on both machines through a mapped drive.

I disabled Anonymous Authentication on the IIS directory and enabled
"Integrated Windows Authentication". In my web.config settings, I set the
following:

<authentication mode="Windows"/>
<identity impersonate="true"/>

<authorization>
<allow users="IS-Users"/>
<deny users="?"/>
</authorization>

Here is the first part of the error I receive:

Data Retrieval Error. System.Data.Odbc.OdbcException: ERROR [HY024]
[Microsoft][ODBC Microsoft Access Driver] '(unknown)' 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.

The security of the web page works correctly, but I don't think it's
delegating the credentials properly. I thought it would by setting the
Impersonate property to true.

I have the option of using OleDB if that is a possible solution. Any ideas
would be appreciated.

Thanks,
lukezhan NO[at]SPAM online.microsoft.com
11/2/2004 2:44:28 AM
Hello Roby,

Is the account "IS-Users" a local user or a domain user? If you logon as
this user and access the web app, it will use this account to permission to
open the access database file. If it is local account, we need to create a
same account with on the remote server; if it is a domain account, it
should be enough pemission on the remote server. For more info about
ASP.NET impersonate, you may refer to this article:

INFO: Implementing Impersonation in an ASP.NET Application
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q306158

Luke
Roby2222
11/2/2004 6:26:01 AM
Thanks for the reply. The "IS-Users" account is a domain group, and it has
permissions to the folder where the Access database resides. Could it be
this user does not have visibility to the mapped drive on the web server?

Thanks,
Roby2222

[quoted text, click to view]
Roby2222
11/2/2004 6:50:03 AM
I don't think you can use UNC with DSNs, but I'll give it a try with OleDB.

Thanks,
Roby2222

[quoted text, click to view]
Paul Clement
11/2/2004 8:32:48 AM
[quoted text, click to view]

¤ Thanks for the reply. The "IS-Users" account is a domain group, and it has
¤ permissions to the folder where the Access database resides. Could it be
¤ this user does not have visibility to the mapped drive on the web server?
¤

That would be my guess. Can you use an UNC path instead?


Paul ~~~ pclement@ameritech.net
Paul Clement
11/2/2004 12:56:08 PM
[quoted text, click to view]

¤ I don't think you can use UNC with DSNs, but I'll give it a try with OleDB.
¤

If you're using a DSN that means you're using the MS Access ODBC driver. I would highly recommend
you use a DSN-less connection with the Jet OLEDB driver instead.

http://www.able-consulting.com/MDAC/ADO/Connection/OLEDB_Providers.htm#OLEDBProviderForMicrosoftJet


Paul ~~~ pclement@ameritech.net
lukezhan NO[at]SPAM online.microsoft.com
11/3/2004 5:49:27 AM
Hello,

Since it is a user group, I think you may use Roles instead of Users. For
example:

<authorization>
<deny users="*"/>
<allow roles="IS-Users" />
</authorization>


Luke
AddThis Social Bookmark Button