Link to home
Start Free TrialLog in
Avatar of james saulez
james saulezFlag for United States of America

asked on

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

Hi

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).


Thanks
James
Avatar of Scott McDaniel (EE MVE )
Scott McDaniel (EE MVE )
Flag of United States of America image

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.
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.
ASKER CERTIFIED SOLUTION
Avatar of Scott McDaniel (EE MVE )
Scott McDaniel (EE MVE )
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial