Basic structureโฆ I have an app launcher, and multiple apps. Each app utilizes the same AWS Cognito pool for user authentication. I have a table of users listing what apps they have access to. So, I only show them the apps they have access to in the app launcher, good.
However, if someone sends them a link, or I set something up wrong, and a user ends up in an app that isnโt in their list of approved apps, what is the best/easiest way to effectively shutdown that app to them?
I have often wondered about this use case. It seems to me that without some kind of app namespace and user <> app list authentication scheme, it would be hard to do just using USEREMAIL() and Show_If for Views and Security Filters for Tables.
One possible way would be to create a common table or set of tables to ALL apps with columns containing USEREMAIL(), Group (or Company) and List of Authorized Apps and add a check for each view.
Iโve seen issues with โshow/Hideโ on viewsโฆ itโs like theyโre accessible, thereโs just no button to click on, so a deep link will still take you to them, even if the view is technically hidden.
And, yes, Iโve got common tables for all the appsโฆ
The best option Iโve came up with is to reduce the โAre updates allowed?โ down to read only and then set the security filter to false. And do this for every tableโฆ Then they could see all the views, but wouldnโt see any info, and couldnโt add dataโฆ
Since iโm using data partitioning, one option I came up with was a set of โemptyโ tables"
If you have the users table already and you know do they have access into this app or not, you could use security filter and show a detail info view that they donโt have data access. Not exacty what you are looking for but at least you can be sure that they donโt have access to data. You could do the same for tables with an option โAre updates allowed?โ
Yep, I think thatโs my best option right now.
Maybe I can put a show column in the user table, and show that in the detail view.
User | Count |
---|---|
32 | |
11 | |
3 | |
3 | |
2 |