Sdílet prostřednictvím


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

  1. V souboru Web.config v rámci <system.web> elementu <roleManager> přidejte element a nastavte jeho enabled atribut na true.

  2. Nastavte atribut na defaultProvider SqlRoleProvider.

  3. Jako podřízený prvek <roleManager> přidejte <providers> prvek.

  4. Jako podřízený prvek <providers> přidejte <add> prvek s následujícími atributy nastavenými na odpovídající hodnoty: name, type, connectionStringNamea applicationName, 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í.

  1. Do souboru Web.config přidejte element system.serviceModel>.<

  2. Přidejte do elementu <<system.ServiceModel> prvek chování.>

  3. Přidejte do elementu <<behaviors> serviceBehaviors.>

  4. <Přidejte prvek chování> a nastavte name atribut na odpovídající hodnotu.

  5. Přidejte do elementu <<behavior> serviceAuthorization.>

  6. Nastavte atribut na principalPermissionMode UseAspNetRoles.

  7. 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>
    

Viz také