Dela via


Rollbaserad säkerhet

Roller används ofta i finansiella program eller affärsprogram för att tillämpa principer. Ett program kan till exempel införa gränser för storleken på den transaktion som bearbetas beroende på om användaren som gör begäran är medlem i en angiven roll. Kontorister kan ha behörighet att bearbeta transaktioner som är mindre än ett angivet tröskelvärde, övervakare kan ha en högre gräns och vice ordförande kan ha en ännu högre gräns (eller ingen gräns alls). Rollbaserad säkerhet kan också användas när ett program kräver flera godkännanden för att slutföra en åtgärd. Ett sådant fall kan vara ett inköpssystem där alla anställda kan generera en inköpsbegäran, men endast en inköpsagent kan konvertera den begäran till en inköpsorder som kan skickas till en leverantör.

Rollbaserad säkerhet i .NET stöder auktorisering genom att göra information om huvudkontot, som är konstruerat från en associerad identitet, tillgänglig för den aktuella tråden. Identiteten (och det huvudnamn som den hjälper till att definiera) kan antingen baseras på ett Windows-konto eller vara en anpassad identitet som inte är relaterad till ett Windows-konto. .NET-program kan fatta auktoriseringsbeslut baserat på huvudnamnets identitets- eller rollmedlemskap, eller båda. En roll är en namngiven uppsättning huvudkonton som har samma behörigheter när det gäller säkerhet (till exempel en kassör eller en chef). Ett huvudnamn kan vara medlem i en eller flera roller. Därför kan program använda rollmedlemskap för att avgöra om ett huvudnamn har behörighet att utföra en begärd åtgärd.

För att underlätta användningen och konsekvensen med kodåtkomstsäkerhet tillhandahåller System.Security.Permissions.PrincipalPermission .NET rollbaserad säkerhet objekt som gör att den vanliga språkkörningen kan utföra auktorisering på ett sätt som liknar säkerhetskontroller för kodåtkomst. Klassen PrincipalPermission representerar den identitet eller roll som huvudnamnet måste matcha och är kompatibel med både deklarativa och imperativa säkerhetskontroller. Du kan också komma åt ett huvudnamns identitetsinformation direkt och utföra roll- och identitetskontroller i koden när det behövs.

.NET tillhandahåller rollbaserad säkerhetssupport som är flexibel och utökningsbar nog för att uppfylla behoven hos ett brett spektrum av program. Du kan välja att samverka med befintliga autentiseringsinfrastrukturer, till exempel COM+ 1.0-tjänster, eller att skapa ett anpassat autentiseringssystem. Rollbaserad säkerhet lämpar sig särskilt väl för användning i ASP.NET webbprogram, som främst bearbetas på servern. Rollbaserad säkerhet i .NET kan dock användas på antingen klienten eller servern.

Innan du läser det här avsnittet ska du se till att du förstår det material som presenteras i Viktiga säkerhetsbegrepp.

Se även