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 <>roleManagerelement 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 <>providersdo elementu dodajadd<> 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ż