Instrukcje: Używanie dostawcy ról ASP.NET razem z usługą

Dostawca ról ASP.NET (w połączeniu z dostawcą członkostwa ASP.NET) to funkcja umożliwiająca deweloperom ASP.NET tworzenie witryn sieci Web, które umożliwiają użytkownikom tworzenie konta z witryną i przypisywanie ról do celów autoryzacji. Dzięki tej funkcji każdy użytkownik może ustanowić konto z witryną i zalogować się w celu uzyskania wyłącznego dostępu do witryny i jej usług. Jest to w przeciwieństwie do zabezpieczeń systemu Windows, co wymaga od użytkowników posiadania kont w domenie systemu Windows. Zamiast tego każdy użytkownik, który dostarcza swoje poświadczenia (kombinację nazwy użytkownika/hasła), może korzystać z witryny i jej usług.

Aby zapoznać się z przykładową aplikacją, zobacz Członkostwo i dostawca ról. Aby uzyskać więcej informacji na temat funkcji dostawcy członkostwa ASP.NET, zobacz Instrukcje: korzystanie z dostawcy członkostwa ASP.NET.

Funkcja dostawcy ról używa bazy danych programu SQL Server do przechowywania informacji o użytkowniku. Deweloperzy programu Windows Communication Foundation (WCF) mogą korzystać z tych funkcji w celach bezpieczeństwa. W przypadku integracji z aplikacją WCF użytkownicy muszą podać kombinację nazwy użytkownika/hasła do aplikacji klienckiej WCF. Aby umożliwić programowi WCF korzystanie z bazy danych, należy utworzyć wystąpienie ServiceAuthorizationBehavior klasy, ustawić jej PrincipalPermissionMode właściwość na UseAspNetRoles, a następnie dodać wystąpienie do kolekcji zachowań ServiceHost hostujących usługę.

Konfigurowanie dostawcy roli

  1. W pliku Web.config w obszarze <system.web> elementu dodaj <roleManager> element i ustaw jego enabled atrybut na true.

  2. defaultProvider Ustaw atrybut na SqlRoleProvider.

  3. Jako element podrzędny <roleManager> do elementu dodaj <providers> element.

  4. Jako element podrzędny <providers> do elementu dodaj <add> element z następującymi atrybutami ustawionymi na odpowiednie wartości: name, , connectionStringNametypei applicationName, jak pokazano w poniższym przykładzie.

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

Konfigurowanie usługi do korzystania z dostawcy ról

  1. W pliku Web.config dodaj element system.serviceModel>.<

  2. <Dodaj element behaviors> do <system.ServiceModel> elementu .

  3. Dodaj element <serviceBehaviors.<behaviors>>

  4. <Dodaj element zachowania> i ustaw name atrybut na odpowiednią wartość.

  5. Dodaj usługęAuthorization >< do <behavior> elementu .

  6. principalPermissionMode Ustaw atrybut na UseAspNetRoles.

  7. roleProviderName Ustaw atrybut na SqlRoleProvider. W poniższym przykładzie pokazano fragment konfiguracji.

    <behaviors>
     <serviceBehaviors>
      <behavior name="CalculatorServiceBehavior">
       <serviceAuthorization principalPermissionMode ="UseAspNetRoles"
                             roleProviderName ="SqlRoleProvider" />
      </behavior>
     </serviceBehaviors>
    </behaviors>
    

Zobacz też