Als u activa wilt beschermen (bestanden, databaserijen, domeinentiteiten, documenten, enz.) in plaats van toepassingsfuncties of gebruikersmogelijkheden , op rollen gebaseerde beveiliging past niet erg goed.
Een beter model is het gebruik van Toegangscontrolelijsten (ACL's) zoals u kent van NTFS. Je zou het bijna zelf zeggen, want je moet aan elk object voor elke gebruiker of rol bepaalde rechten toekennen. Dat is wat een ACL doet.
Als u objecten wilt beschermen die uiteindelijk rijen zijn in SQL Server, moet u aangepaste tabellen definiëren voor uw ACL's, aangezien SQL Server geen ondersteuning biedt voor machtigingen op rijniveau.
Op basis van de gegevens in die ACL's moet u de nodige beveiligingscontroles implementeren in uw gegevenstoegangscomponenten.
Hier zijn enkele links naar gerelateerde SO-antwoorden:
- Toegangscontrole in ASP.NET MVC afhankelijk van invoerparameters/servicelaag?
- Wat is het beste mechanisme om gedetailleerde beveiliging (d.w.z. autorisatie) in een ASP.NET MVC-toepassing te implementeren?
- Hoe implementeer ik een uitnodigingscode om bronnen met een andere gebruiker te delen?