rollthecloudinc / quell

Climate aware CMS breaking web apps free from carbon emissions.
https://demo.carbonfreed.app/pages/create-panel-page
GNU General Public License v3.0
13 stars 1 forks source link

Alias Authentication and Authorization #25

Open verti-go opened 3 years ago

windbeneathyourwings commented 3 years ago

This will have two parts

1.) match request 2.) match auth rules

json rules engine will be used for each.

When this is complete someone will be able to match a part of the request like the lath ie. /protected-page and guard it with rules like a specific property that a user has ie. role, permission, etc. They could also use global properties of the application to allow a single deployment to host multiple sites but restrict access based on app settings.

For panel pages it is actually possible to resolve path arguments and query params using insights from a panel page. So they will be made available to dynamically match.

Routing will probably be stored in a new index inside elastic or inside cassandra. I don't know exactly what the proper key to segment the data accross instances would be for cassandra though. We would need to figure that out if we go with that storage.

Routing will be factored out of panel pages and moved into a generic module that can be extended beyond just panel pages. Normal components will be able to use the enhanced routing system. By default all the global context would display inside the rules selector.