Voor een applicatie die ik op dit moment aan het ontwikkelen ben is het noodzakelijk dat er beveiliging in komt waarmee ik kan garanderen dat bepaalde acties ook alleen worden gedaan door groepen mensen die de juiste privileges hebben -> role based security.
Mijn vraag is hoe ik dit het beste kan realiseren op het .NET platform.
Wat moet er allemaal afgeschermd zijn?
Er moet een bepaalde rol zijn (soortement van admin) die Universiteiten kan aanmaken in de universiteits tabel. Verder moet er voor iedere universiteit een rol komen waarmee allerlei eigenschappen van universiteiten ingesteld kunnen worden. Het moet zo zijn dat deze rollen gebonden zijn aan 1 specifieke universiteit.
Verder kan een universiteit weer faculteiten hebben en voor iedere faculteit moet ook weer een rol aangemaakt worden, waardoor allerlei eigenschappen van faculteiten aangepast kunnen worden. Hierbij geldt weer dezelfde voorwaarde dat faculteiten elkaars gegevens niet kunnen wijzigen.
Ok.. tot zover wat ik wil in grote lijnen.
Hoe kan ik dit het beste in .NET realiseren? In hoeverre zijn hier al voorzieningen voor? Kan ik bv aan een of andere Threadlocal een rol/user binden die bij het uitvoeren van een service methode wordt gechecked? Liefst via ubergeile attributen:
Hoe zit het verder met database koppelingen? Ik kan alles wel in de db stoppen, maar het lijkt me dat zoveel applicaties dit al gedaan hebben dat er vast wel kant en klare componenten voor moeten zijn.
Mijn vraag is hoe ik dit het beste kan realiseren op het .NET platform.
Wat moet er allemaal afgeschermd zijn?
Er moet een bepaalde rol zijn (soortement van admin) die Universiteiten kan aanmaken in de universiteits tabel. Verder moet er voor iedere universiteit een rol komen waarmee allerlei eigenschappen van universiteiten ingesteld kunnen worden. Het moet zo zijn dat deze rollen gebonden zijn aan 1 specifieke universiteit.
Verder kan een universiteit weer faculteiten hebben en voor iedere faculteit moet ook weer een rol aangemaakt worden, waardoor allerlei eigenschappen van faculteiten aangepast kunnen worden. Hierbij geldt weer dezelfde voorwaarde dat faculteiten elkaars gegevens niet kunnen wijzigen.
Ok.. tot zover wat ik wil in grote lijnen.
Hoe kan ik dit het beste in .NET realiseren? In hoeverre zijn hier al voorzieningen voor? Kan ik bv aan een of andere Threadlocal een rol/user binden die bij het uitvoeren van een service methode wordt gechecked? Liefst via ubergeile attributen:
C#:
1
2
3
4
| [requiresRole(siteAdmin)] public void Delete(UniversiteitEntity universiteit){ ... } |
Hoe zit het verder met database koppelingen? Ik kan alles wel in de db stoppen, maar het lijkt me dat zoveel applicaties dit al gedaan hebben dat er vast wel kant en klare componenten voor moeten zijn.
[ Voor 3% gewijzigd door Alarmnummer op 02-12-2004 20:49 ]