Delen via


Mechanismen voor toegangsbeheer

U kunt de toegang op verschillende manieren beheren met WcF (Windows Communication Foundation). In dit onderwerp worden de verschillende mechanismen kort besproken en worden suggesties gedaan voor het gebruik van elk mechanisme; het is bedoeld om u te helpen het juiste mechanisme te selecteren dat moet worden gebruikt. De toegangstechnologieën worden weergegeven in volgorde van complexiteit. De eenvoudigste is de PrincipalPermissionAttribute; het meest complexe is het identiteitsmodel.

Naast deze mechanismen wordt imitatie en delegatie met WCF uitgelegd in delegatie en imitatie.

PrincipalPermissionAttribute

De PrincipalPermissionAttribute methode wordt gebruikt om de toegang tot een servicemethode te beperken. Wanneer het kenmerk wordt toegepast op een methode, kan het worden gebruikt om de identiteit of het lidmaatschap van een specifieke beller in een Windows-groep of ASP.NET rol op te vragen. Als de client wordt geverifieerd met behulp van een X.509-certificaat, krijgt deze een primaire identiteit die bestaat uit de onderwerpnaam plus de vingerafdruk van het certificaat.

Gebruik de functie voor het PrincipalPermissionAttribute beheren van de toegang tot resources op de computer waarop de service wordt uitgevoerd en als de gebruikers van de service altijd deel uitmaken van hetzelfde Windows-domein waarop de service wordt uitgevoerd. U kunt eenvoudig Windows-groepen maken met opgegeven toegangsniveaus (zoals geen, alleen-lezen of lezen en schrijven).

Zie How to: Restrict Access with the PrincipalPermissionAttribute Class (Toegang beperken met de Klasse PrincipalPermissionAttribute) voor meer informatie over het gebruik van het kenmerk. Zie Service-identiteit en -verificatie voor meer informatie over identiteit.

ASP.NET lidmaatschapsprovider

Een functie van ASP.NET is de lidmaatschapsprovider. Hoewel de lidmaatschapsprovider technisch geen mechanisme voor toegangsbeheer is, kan de toegang tot de service worden beheerd door de set mogelijke identiteiten te beperken die toegang hebben tot het eindpunt van de service. De lidmaatschapsfunctie bevat een database die kan worden gevuld met combinaties van gebruikersnaam en wachtwoord waarmee gebruikers van een website accounts met de site kunnen maken. Voor toegang tot een service die gebruikmaakt van de lidmaatschapsprovider, moet een gebruiker zich aanmelden met zijn gebruikersnaam en wachtwoord.

Notitie

U moet de database eerst vullen met behulp van de functie ASP.NET voordat een WCF-service deze kan gebruiken voor autorisatiedoeleinden.

U kunt ook de lidmaatschapsfunctie gebruiken als u al een lidmaatschapsdatabase hebt van een bestaande ASP.NET-website en u dezelfde gebruikers in staat wilt stellen om uw service te gebruiken, geautoriseerd met dezelfde gebruikersnamen en wachtwoorden.

Zie Procedure voor meer informatie over het gebruik van de lidmaatschapsfunctie in een WCF-service : De ASP.NET Lidmaatschapsprovider gebruiken.

ASP.NET rolprovider

Een andere functie van ASP.NET is de mogelijkheid om autorisatie te beheren met behulp van rollen. Met de ASP.NET rolprovider kan een ontwikkelaar rollen maken voor gebruikers en elke gebruiker toewijzen aan een rol of rollen. Net als bij de lidmaatschapsprovider worden de rollen en toewijzingen opgeslagen in een database en kunnen ze worden gevuld met hulpprogramma's die worden geleverd door een bepaalde implementatie van de ASP.NET-rolprovider. Net als bij de lidmaatschapsfunctie kunnen WCF-ontwikkelaars de informatie in de database gebruiken om servicegebruikers per rol te autoriseren. Ze kunnen bijvoorbeeld de rolprovider gebruiken in combinatie met het PrincipalPermissionAttribute hierboven beschreven toegangsbeheermechanisme.

U kunt ook de ASP.NET rolprovider gebruiken als u een bestaande ASP.NET rolproviderdatabase hebt en dezelfde set regels en gebruikerstoewijzingen in uw WCF-service wilt gebruiken.

Zie Procedure voor meer informatie over het gebruik van de functie van de rolprovider: De ASP.NET-rolprovider gebruiken met een service.

Autorisatiebeheer

Een andere functie combineert autorisatiebeheer (AzMan) met de ASP.NET rolprovider om clients te autoriseren. Wanneer ASP.NET als host fungeert voor een webservice, kan AzMan worden geïntegreerd in de toepassing, zodat autorisatie voor de service wordt uitgevoerd via AzMan. ASP.NET rolbeheerder biedt een API waarmee u toepassingsrollen kunt beheren, gebruikers kunt toevoegen aan en verwijderen uit rollen en het rollidmaatschap kunt controleren, maar u kunt niet opvragen of een gebruiker gemachtigd is om een benoemde taak of bewerking uit te voeren. Met AzMan kunt u afzonderlijke bewerkingen definiëren en deze combineren in taken. Met AZMan kunt u naast rolcontroles ook controleren of een gebruiker een taak kan uitvoeren. Roltoewijzing en taakautorisatie kunnen buiten de toepassing worden geconfigureerd of programmatisch binnen de toepassing worden uitgevoerd. Met de MMC-module (AzMan administration Microsoft Management Console) kunnen beheerders de taken wijzigen die een rol tijdens runtime kan uitvoeren en om het lidmaatschap van elke gebruiker van rollen te beheren.

U kunt ook AzMan en de ASP.NET-rolprovider gebruiken als u al toegang hebt tot een bestaande AzMan-installatie en uw servicegebruikers wilt autoriseren met behulp van de functies van de combinatie azman/rolprovider.

Zie Procedure: Authorization Manager (AzMan) gebruiken met ASP.NET 2.0 voor meer informatie over AzMan en de ASP.NET-rolprovider. Zie Voor meer informatie over het gebruik van AzMan en de rolprovider voor WCF-services : De ASP.NET Authorization Manager-rolprovider gebruiken met een service.

Identiteitsmodel

Het identiteitsmodel is een set API's waarmee u claims en beleidsregels kunt beheren om clients te autoriseren. Met het identiteitsmodel kunt u elke claim in referenties onderzoeken die de aanroeper heeft gebruikt voor verificatie bij de service, de claims vergelijken met de set beleidsregels voor de service en toegang verlenen of weigeren op basis van de vergelijking.

Gebruik het identiteitsmodel als u nauwkeurige controle nodig hebt en de mogelijkheid om specifieke criteria in te stellen voordat u toegang verleent. Wanneer u bijvoorbeeld het PrincipalPermissionAttributecriterium gebruikt, is het criterium dat de identiteit van de gebruiker wordt geverifieerd en deel uitmaakt van een specifieke rol. Met behulp van het identiteitsmodel kunt u daarentegen een beleid maken waarin wordt aangegeven dat de gebruiker ouder moet zijn dan 18 jaar en een geldig rijbewijs heeft voordat u een document mag bekijken.

Een voorbeeld waarbij u kunt profiteren van het toegangsbeheer op basis van identiteitsmodellen is wanneer u federatiereferenties gebruikt in het uitgegeven tokenscenario. Zie Federatie- en uitgegeven tokens voor meer informatie over federatie en uitgegeven tokens.

Zie Claims en autorisatie beheren met het identiteitsmodel voor meer informatie over het identiteitsmodel.

Zie ook