Use of MS Access back end with VB.NET front end

From: Alan Cossey (alanXYXYXY_at_cossey58.freeserve.co.uk.XYXYZYZY)
Date: 04/21/04


Date: Wed, 21 Apr 2004 10:33:02 +0100

I am looking at using an Access database on a PC to hold data which will be
handled via a VB.NET front end and I am not sure about some of the security
aspects.

With an Access front end it is possible to use so-called "Run With Owner
Permission" queries which have run permissions that are based on those of
the owner/creator of that query, rather than having to use the user's own
permissions on the underlying table. Within a pure Access application, it is
also possible to stop users running these queries except when they have been
called from an Access form. This is done by putting a VBA function in the
query which checks where it is being called from (using CurrentObjectType).
I am looking for something similar to use with VB.NET. However, as far as I
can see, if the VB.NET app calls the RWOP query in the Access database,
there is not much you can do to stop them calling the RWOP query themselves,
e.g. from their own Access front end. My question is:

How to I stop users from running queries or accessing tables in the Access
back end while still giving my VB.NET "front end" sufficient access, please?

When I do Access apps that require reasonable security I develop using one
MDW file, but do not allow users to use this. Instead they use the default
system.mdw file. Users, therefore, enter the app as the Admin user from
system.mdw and the app then checks their Windows ID or prompts for an
ID/password to be used by code to specify which parts of the app they can
access.

The problem seems to be that if I am using user-level security for the
Access database, VB.NET requires a user ID and password for this that also
requires the existence of - and physical access to - an MDW file with those
details in. This is where the security hole appears to be. As many Access
developers know, if a user has physical access to a .mdw file, there are
tools around that will let them see all groups, ID's and passwords in that
.mdw file. (I also know that it is possible for some people to break into a
.mdb file even without the developer's .mdw file, but if people are that
desperate to get into my app, well, they need to get a life.) The level of
sensitivity of the
data is such that I need "only" to stop people running RWOP queries that
they shouldn't be running or accessing tables directly.

The best I can think of is to give users access to the developer's .mdw
file, but give it a non-standard name, e.g. MyPretendName.dll, and try and
hide it somewhere on the user's PC other than in the application's own
folder, in which case I then need to find a way of deploying it there and I
haven't got that far in my understanding of .NET application deployment to
be able to do that. It doesn't appear a very robust way to do it either.

Any help would be much appreciated.

Alan Cossey

PS Using SQL Server or the like on the PC is not an option.



Relevant Pages

  • change use of MDW file, using VB ?
    ... I want to change my access database to use another mdw file because we ... have a security problem in the file we are using today. ... Our app are dev. ...
    (microsoft.public.vb.database)
  • Re: change use of MDW file, using VB ?
    ... Of course I can change the security in the file we are using today but if our customer saves an old mdw file they will still be able to use that one and the security problem. ... In VB6 and I want to change our access database in the next version of our app. ... Is it possible to change an access database to use another mdw file or build a new mdw file with a new PID or change the existing PID. ...
    (microsoft.public.vb.database)
  • Re: Cant find MDW file problem
    ... My app the users are attempting to access is written A2003 and they use ... that specifies the location of Access, the Appname, and the MDW file to ... MDW file on the network. ... MDW file that is hard-coded/specified in the desktop icon? ...
    (comp.databases.ms-access)
  • Re: Cant find MDW file problem
    ... My app the users are attempting to access is written A2003 and they use ... that specifies the location of Access, the Appname, and the MDW file to ... MDW file on the network. ... MDW file that is hard-coded/specified in the desktop icon? ...
    (comp.databases.ms-access)
  • Cant find MDW file problem
    ... These users, if they want to use the program in A2003, must/always log into the same app in A97 first and then log into the app in A2003. ... At first I thought it might be a "rights" issue but I discarded that thought since they can log into the app with A2003 if they first open it (using the same MDW file) in A97. ... I create the updated version from a machine with a full version of A2003 attached to their network. ...
    (comp.databases.ms-access)

Quantcast