Filter data based on client log-in

Hi all,

I would like to ask the following question, to get me in the right direction. Because I’m a bit lost and don’t know what to look for. What is my situation:

  • I’m building a dashboard for a web-application. This application has different clients/users. They are only allowed to have access to their own data (of course)
  • The database of this app is a Postgresql database on Azure.

So I have built a local dashboard. I have scripts for querying all the data and I do a lot of processing and transformations on this data. Here I can also filter on client data of course.
But now I need to deploy it and make it available for the users of this app. A first step would be a link in the application, which brings you to an external page. Later we would like to embed the dashboard in the app itself.

I don’t have a lot of experience in Azure, but what do I think this process looks like:
*Deploy my dash app on Azure somewhere (azure app service?)
*Scripts to query and modify the data (with databricks?)
*Make this available and then do some sort of Authentication, with Active Directory? With this authentication it will only query the users data.
*This pipeline needs to run every night to query and process the deltas/new data.

In my search I came past CData Python Connectors, MSAL and LDAP but I’m not sure I need all of this :). Also I’m curious if this can be done without the Enterprise edition.
I know it is a bit vague, so if you need any more details I can provide these of course!

Many thanks.

Hello @JordyS,

Welcome to the community!

Yes, there are ways to do this in open source. It is a little more labor intensive, obviously.

1 - Check out this article:

2 - Interacting with databases, as long as they are available, is pretty straightforward. You can either connect and commit transactions and queries as needed, or connect the database to the flask server.

3 - Yes, you can perform SSO services and Active Directory with Flask_Login and use the current_user to filter your data:

4 - That can either be handled by crontab on a linux server, or some other task task manager to submit the request. If you are going to store this as a cache, you could look into CosmosDB from Azure.

1 Like

Thank you Jinnyzor, I’m going to check it out!

1 Like