Útmutató: A ASP.NET szerepkör-szolgáltató használata szolgáltatással
A ASP.NET szerepkör-szolgáltató (a ASP.NET tagságszolgáltatóval együtt) egy olyan funkció, amely lehetővé teszi ASP.NET fejlesztők számára, hogy olyan webhelyeket hozzanak létre, amelyek lehetővé teszik a felhasználók számára, hogy fiókokat hozzanak létre egy webhelyen, és szerepköröket rendelhessenek hozzájuk engedélyezési célokra. Ezzel a funkcióval bármely felhasználó létrehozhat egy fiókot a webhelyen, és bejelentkezhet a webhelyhez és szolgáltatásaihoz való kizárólagos hozzáféréshez. Ez ellentétben áll a Windows biztonságával, amely megköveteli, hogy a felhasználók windowsos tartománybeli fiókokkal rendelkezzenek. Ehelyett minden felhasználó, aki megadja a hitelesítő adatait (a felhasználónév/jelszó kombináció) használhatja a webhelyet és annak szolgáltatásait.
Egy mintaalkalmazást a Tagság és a Szerepkör-szolgáltató című témakörben talál. A ASP.NET tagságszolgáltatói funkcióval kapcsolatos további információkért lásd : Útmutató: A ASP.NET tagságszolgáltató használata.
A szerepkör-szolgáltató funkció egy SQL Server-adatbázis használatával tárolja a felhasználói adatokat. A Windows Communication Foundation (WCF) fejlesztői biztonsági okokból kihasználhatják ezeket a funkciókat. A WCF-alkalmazásba integrálva a felhasználóknak meg kell adniuk egy felhasználónév-jelszó kombinációt a WCF-ügyfélalkalmazásnak. Ahhoz, hogy a WCF használni tudja az adatbázist, létre kell hoznia az ServiceAuthorizationBehavior osztály egy példányát, meg kell adnia annak tulajdonságát PrincipalPermissionModeUseAspNetRoles, és hozzá kell adnia a példányt a szolgáltatás üzemeltetőjének viselkedésgyűjteményéhez ServiceHost .
A szerepkör-szolgáltató konfigurálása
A Web.config fájlban az <
system.web
> elem alatt adjon hozzá egy <>roleManager
elemet, és állítsa az attribútumátenabled
a következőretrue
: .Állítsa be az attribútumot a
defaultProvider
következőreSqlRoleProvider
: .Az elem gyermekként <
roleManager
> adjon hozzá egy <providers
> elemet.Az elem gyermekként <>
providers
adjon hozzá egy><add
elemet a megfelelő értékekre beállított alábbi attribútumokkal:name
,type
,connectionStringName
ésapplicationName
, az alábbi példában látható módon.<!-- Configure the Sql Role Provider. --> <roleManager enabled ="true" defaultProvider ="SqlRoleProvider" > <providers> <add name ="SqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="SqlConn" applicationName="MembershipAndRoleProviderSample"/> </providers> </roleManager>
A szolgáltatás konfigurálása a szerepkör-szolgáltató használatára
A Web.config fájlban adjon hozzá egy <system.serviceModel> elemet.
Adjon hozzá egy viselkedési> elemet az <
system.ServiceModel
> elemhez.<Adjon hozzá egy serviceBehaviort> az
behaviors
><elemhez.<Adjon hozzá egy viselkedési <>elemet, és állítsa be az
name
attribútumot egy megfelelő értékre.ServiceAuthorization> hozzáadása az <
behavior
> elemhez.<Állítsa be az attribútumot a
principalPermissionMode
következőreUseAspNetRoles
: .Állítsa be az attribútumot a
roleProviderName
következőreSqlRoleProvider
: . Az alábbi példa a konfiguráció egy töredékét mutatja be.<behaviors> <serviceBehaviors> <behavior name="CalculatorServiceBehavior"> <serviceAuthorization principalPermissionMode ="UseAspNetRoles" roleProviderName ="SqlRoleProvider" /> </behavior> </serviceBehaviors> </behaviors>