Ik ben bezig uit te zoeken hoe nu zo flexibel mogelijk een rollen/rechten systeem op te zetten. Uiteraard kom je dan al gauw de termen ACL en RBAC tegen. Nu zou je zeggen "gebruik gewoon RBAC".
De moeilijkheid zit'm in het feit dat ik eigenlijk instelbare condities aan permissies zou willen hangen. Bijvoorbeeld "Gebruikersgroep X heeft permissie Y, maar alleen als het dinsdag is". Of: "Gebruikersgroep X mag de status van project Y wijzigen, maar alleen als het project de status NIEUW heeft".
Dit zijn slechts enkele voorbeelden. Volgens mij leg je dit soort business logica normaal gesproken in je programma vast. Maar ik wil toch proberen dit instelbaar te maken.
M'n idee tot nu toe:
Bij het toewijzen van een permissie aan een groep voeg je 1 extra kolom toe aan je koppeltabel, waarin je de conditie vastlegt. Dit zal in een soort van scripttaaltje gedefinieerd zijn, dat dus door je programma geinterperteerd dient te worden.
Nadeel hiervan is dat dit nogal ten koste zal gaan van de performance. Heeft iemand suggesties, alternatieven, links, tips en/of ideeen?
De moeilijkheid zit'm in het feit dat ik eigenlijk instelbare condities aan permissies zou willen hangen. Bijvoorbeeld "Gebruikersgroep X heeft permissie Y, maar alleen als het dinsdag is". Of: "Gebruikersgroep X mag de status van project Y wijzigen, maar alleen als het project de status NIEUW heeft".
Dit zijn slechts enkele voorbeelden. Volgens mij leg je dit soort business logica normaal gesproken in je programma vast. Maar ik wil toch proberen dit instelbaar te maken.
M'n idee tot nu toe:
Bij het toewijzen van een permissie aan een groep voeg je 1 extra kolom toe aan je koppeltabel, waarin je de conditie vastlegt. Dit zal in een soort van scripttaaltje gedefinieerd zijn, dat dus door je programma geinterperteerd dient te worden.
Nadeel hiervan is dat dit nogal ten koste zal gaan van de performance. Heeft iemand suggesties, alternatieven, links, tips en/of ideeen?