Solved

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

Posted on 2015-01-06
3
260 Views
Last Modified: 2015-06-03
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
0
Comment
Question by:james saulez
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 84
ID: 40535329
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.
0
 

Expert Comment

by:Frank Rupert
ID: 40579155
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.
0
 
LVL 84

Accepted Solution

by:
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 500 total points
ID: 40581297
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.
0

Featured Post

Surfing Is Meant To Be Done Outdoors

Featuring its rugged IP67 compliant exterior and delivering broad, fast, and reliable Wi-Fi coverage, the AP322 is the ideal solution for the outdoors. Manage this AP with either a Firebox as a gateway controller, or with the Wi-Fi Cloud for an expanded set of management features

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Access custom database properties are useful for storing miscellaneous bits of information in a format that persists through database closing and reopening.  This article shows how to create and use them.
Enabling the Skype for Business Meeting Scheduler in Hybrid OWA
This Experts Exchange video Micro Tutorial shows how to tell Microsoft Office that a word is NOT spelled correctly. Microsoft Office has a built-in, main dictionary that is shared by Office apps, including Excel, Outlook, PowerPoint, and Word. When …
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question