[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 307
  • Last Modified:

Securing a 2007/2010 Client Server Application

I have an Access application with a growing user population. The GUI sits on each user PC while the data resides on a server - with the customery table linking. The path to the database is stored in the global module so it can be called as needed when recordsets are used.

A Login form launches when a user starts the application and a valid user name/password combination is required for a successful login. All of the objects are hidden except for the Login form and user Access applications are set up not to show them.

Unfortunately, at this stage, we are relying on user ignorance to protect the application and the data. A curious, or malicious, user could change a few settings and see stuff we don't want them to see. I would like to accomplish the following:

1) Implement a password on the back end data. A user who tries to open that .accdb directly will need the password, but if they open it through the application, the password will be handed to the BE automatically.

2) Lock down the front end so that users can only see the things we want them to see.

If I had my druthers, I would be developing this in straight VB, but unfortunately the company in question wants it in Access.

Any suggestions or links to resources would be appreciated.
0
Buck_Beasom
Asked:
Buck_Beasom
3 Solutions
 
Dale FyeCommented:
Unfortunately, it is difficult to "secure" an Access BE.

You could put a startup (login) form in the backend, so that if someone attempts to open the backend directly, it would ask for a password and shut down if they don't have the correct password.  Then set the Use Access Special Keys property of the database to No (unchecked) to prevent users from bypassing the startup form.  This is not fool proof either, but it would take someone with enough knowledge (or Internet savy to do a search) to bypass this method.

If you truly need security, step your BE up to SQL Server or SQL Server Express (free).
0
 
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
Regarding the FE, you should be deploying a .accde (or .mde) file. This will effectively disable the user from opening the form in design view, which can stop design mods to Forms, Report and Modules. Users could still modify table and query DATA (and some design), however, so be aware of that.

As fyed said, you should also remove the Shift key bypass for the FE. This provides another level of security, but as fyed mentions there is really no way to fully secure this. If the client wants a truly secure app, they'll need to move to a more secure platform for both the UI and the data.
0
 
peter57rCommented:
The other significant step you can take in securing the application (as opposed to the data) is to convert the front-end into an accde file.

This removes the capability to make design changes to forms, reports and code.

I notice your question title refers to A2007/2010.  If you are not already aware, then note that the chances of running a non-trivial A2010 application in A2007 are pretty slim.
0
 
Buck_BeasomAuthor Commented:
Since all of these are helpful (and this question has been sitting open for a while) I am splitting up the points.

Thanks to all.
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now