How to implement table level read /write user level access control in Access 2013 web app


I am trying to implement a user level permission module in a Access Web App I am developing for a client. I have a very simple data model behind it. I have a table called App Functionality and then a one to many table called user permissions. i.e. user A has 4 permissions assigned to him. eg. load project, view projects, login to app and view projects dashboard. Its effectively a table level security model.

At present I have UI macro which can retrieve whether the current user (set using userdisplayname function on start-up). The macro takes two parameters (user, functionality). The idea is that any form can pass it those variables and then action the resulting CRUD permissions by setting the properties on controls (like add or edit list buttons) to disabled.

I have three questions;

Is this an "ok" method?
If so then what are the best actions in which to write the "lock down" logic. 'On Load' wont work. 'On Current' is not working completely either.
What other techniques are people using to bring good old fashioned user level access control to Access Web Apps? I can't find best practice on this (remember its not a desktop app, its a web app).

james saulezAsked:
Who is Participating?
Scott McDaniel (Microsoft Access MVP - EE MVE )Connect With a Mentor Infotrakker SoftwareCommented:
Linking to Azure can cause performance issues. In the two cases where I tried it, the application was so slow it was unusable, and this was a very simple CRUD app. Your mileage may vary, of course.
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
Is this an "ok" method?
It's the only method. You have no VBA in the web model, so any interactions with the database must be handled through macros. Essentially, you read the table and determine what to do from there.

What do you mean by "OnLoad doesn't work"? I'd think that's the best action to use, but then you only have two Form-level actions: OnLoad and Oncurrent.

What other techniques are people using to bring good old fashioned user level access control to Access Web Apps
People aren't - in fact, people aren't really using Web Apps for much of anything other than very basic CRUD operations. Anything outside of that is very, very difficult to achieve - if it can be achieved at all.

Web Apps are the way Access is moving, to be sure, but they're still very much in their infancy. There have been quite a few advances in more recent version (2013), but they are far from ready-for-prime-time, at least in my opinion. If you need a robust, full-featured web application you should consider using something like ASP.NET, PHP, Java, etc instead.
Frank RupertSoftware DeveloperCommented:
Another alternative is to use hybrid setup of Access 2013 Front Ends linking to SQL Azure in the cloud. This way you can use VBA to implement your user-level permissions, then you can distribute the front-end's to each of your users.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.