Centrally Managed User List for Data Filters

Greetings,

I’ve been looking for a solution, and although I have found a few examples that are close, I have not found exactly my use case.

App will be shared with 500+ users, all at different store locations. Have one centrally manged table that will load job numbers that the locations will need to review. The data is dependent on store number, and I would like to use a table to map all appropriate users from that store to their data only.

Example of user accounts, would like to use dynamic centrally managed table
Jon@test.com Store 1
Jill@test.com Store 1
Jeff@test.com Store 1
Steve@test.com Store 2
Larry@test.com Store 2

Like the other user settings, I would like Jon, Jill and Jeff to all see the data from Store 1, and Steve and Larry to only see data from Store 2. They all have the same level of read/write permissions. What I want to be able to do, is if Jon transfers to Store 2, to simply update a table with his new location and the data that he sees when logging in would be correct (Store 2).

I know I could have them manually select their store under user settings, but for security I do not want the users to be able to jump between stores. Thus the need for central management.

How would I accomplish this?

Thank you!

Hi,

There is more than one way to do this using security filters and a particular data design. Here’s a very simplistic view of the problem, I used “start with an idea” (SPEC) to create this app, which essentially does what you have described. You should click the “copy and customize” button to take a look at the security filters on the tables. Hope this helps!

https://www.appsheet.com/samples/Built-from-your-app-spec-?appGuidString=e061b897-0e9d-436e-8437-fe60c0be6d37

4 Likes

Thank you for the help. Sorry for the late response. I was able to use a very similar setup with a user list ref table, then applied the following security filter to the view that I was looking to control:

or(useremail() = “admin1Test@test.com”,
useremail() = “admin2test@test.com”,
IN([Location], SELECT(FTE[Location], [Email] = USEREMAIL())))

This worked just as you outlined, thanks!

1 Like