Beveiliging op basis van rollen
Rollen worden vaak gebruikt in financiƫle of zakelijke toepassingen om beleid af te dwingen. Een toepassing kan bijvoorbeeld limieten opleggen voor de grootte van de transactie die wordt verwerkt, afhankelijk van of de gebruiker die de aanvraag indient lid is van een opgegeven rol. Bedienden hebben mogelijk autorisatie om transacties te verwerken die kleiner zijn dan een opgegeven drempelwaarde, supervisors hebben mogelijk een hogere limiet en vice-presidenten hebben mogelijk een nog hogere limiet (of helemaal geen limiet). Beveiliging op basis van rollen kan ook worden gebruikt wanneer voor een toepassing meerdere goedkeuringen zijn vereist om een actie te voltooien. Een dergelijk geval kan een aankoopsysteem zijn waarin elke werknemer een aankoopaanvraag kan genereren, maar alleen een aankoopagent kan die aanvraag omzetten in een inkooporder die naar een leverancier kan worden verzonden.
Beveiliging op basis van een .NET-rol ondersteunt autorisatie door informatie over de principal, die is samengesteld op basis van een gekoppelde identiteit, beschikbaar te maken voor de huidige thread. De identiteit (en de principal die kan worden gedefinieerd) kan worden gebaseerd op een Windows-account of een aangepaste identiteit die niet is gerelateerd aan een Windows-account. .NET-toepassingen kunnen autorisatiebeslissingen nemen op basis van de identiteit of het rollidmaatschap van de principal, of beide. Een rol is een benoemde set principals met dezelfde bevoegdheden met betrekking tot beveiliging (zoals een teller of een manager). Een principal kan lid zijn van een of meer rollen. Toepassingen kunnen daarom rollidmaatschap gebruiken om te bepalen of een principal is gemachtigd om een aangevraagde actie uit te voeren.
Om gebruiksgemak en consistentie met beveiliging van codetoegang te bieden, biedt System.Security.Permissions.PrincipalPermission .NET-beveiliging op basis van rollen objecten die de algemene taalruntime in staat stellen autorisatie uit te voeren op een manier die vergelijkbaar is met beveiligingscontroles voor codetoegang. De PrincipalPermission klasse vertegenwoordigt de identiteit of rol die de principal moet vergelijken en compatibel is met zowel declaratieve als imperatieve beveiligingscontroles. U kunt ook rechtstreeks toegang krijgen tot de identiteitsgegevens van een principal en zo nodig rol- en identiteitscontroles uitvoeren in uw code.
.NET biedt op rollen gebaseerde beveiligingsondersteuning die flexibel en uitbreidbaar genoeg is om te voldoen aan de behoeften van een breed scala aan toepassingen. U kunt ervoor kiezen om samen te werken met bestaande verificatie-infrastructuren, zoals COM+ 1.0 Services, of om een aangepast verificatiesysteem te maken. Beveiliging op basis van rollen is met name geschikt voor gebruik in ASP.NET webtoepassingen, die voornamelijk op de server worden verwerkt. Beveiliging op basis van .NET-rollen kan echter worden gebruikt op de client of op de server.
Voordat u deze sectie leest, moet u ervoor zorgen dat u het materiaal begrijpt dat wordt gepresenteerd in Belangrijke beveiligingsconcepten.