Postupy: Použití zprostředkovatele rolí ASP.NET se službou
Poskytovatel role ASP.NET (ve spojení s poskytovatelem členství ASP.NET) je funkce, která vývojářům umožňuje ASP.NET vytvářet weby, které uživatelům umožňují vytvářet účet s webem a přiřazovat role pro účely autorizace. Pomocí této funkce může každý uživatel vytvořit účet s webem a přihlásit se k výhradnímu přístupu k webu a jeho službám. To je na rozdíl od zabezpečení Windows, které vyžaduje, aby uživatelé měli účty v doméně Windows. Místo toho může web a jeho služby používat každý uživatel, který zadá své přihlašovací údaje (kombinaci uživatelského jména a hesla).
Ukázkovou aplikaci najdete v tématu Členství a Zprostředkovatel rolí. Další informace o funkci poskytovatele členství ASP.NET naleznete v tématu Postupy: Použití poskytovatele členství ASP.NET.
Funkce zprostředkovatele role používá k ukládání informací o uživateli databázi SQL Serveru. Vývojáři windows Communication Foundation (WCF) můžou tyto funkce využívat pro účely zabezpečení. Při integraci do aplikace WCF musí uživatelé zadat kombinaci uživatelského jména a hesla klientské aplikaci WCF. Chcete-li povolit WCF používat databázi, musíte vytvořit instanci ServiceAuthorizationBehavior třídy, nastavit její PrincipalPermissionMode vlastnost na UseAspNetRolesa přidat instanci do kolekce chování, ServiceHost která je hostitelem služby.
Konfigurace zprostředkovatele role
V souboru Web.config v rámci
<system.web>
elementu<roleManager>
přidejte element a nastavte jehoenabled
atribut natrue
.Nastavte atribut na
defaultProvider
SqlRoleProvider
.Jako podřízený prvek
<roleManager>
přidejte<providers>
prvek.Jako podřízený prvek
<providers>
přidejte<add>
prvek s následujícími atributy nastavenými na odpovídající hodnoty:name
,type
,connectionStringName
aapplicationName
, jak je znázorněno v následujícím příkladu.<!-- 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>
Nakonfigurujte službu tak, aby používala zprostředkovatele rolí.
Do souboru Web.config přidejte element system.serviceModel>.<
Přidejte do elementu <
<system.ServiceModel>
prvek chování.>Přidejte do elementu <
<behaviors>
serviceBehaviors.><Přidejte prvek chování> a nastavte
name
atribut na odpovídající hodnotu.Přidejte do elementu <
<behavior>
serviceAuthorization.>Nastavte atribut na
principalPermissionMode
UseAspNetRoles
.Nastavte atribut na
roleProviderName
SqlRoleProvider
. Následující příklad ukazuje fragment konfigurace.<behaviors> <serviceBehaviors> <behavior name="CalculatorServiceBehavior"> <serviceAuthorization principalPermissionMode ="UseAspNetRoles" roleProviderName ="SqlRoleProvider" /> </behavior> </serviceBehaviors> </behaviors>