共用方式為


HOW TO:使用 ASP.NET 角色提供者搭配服務

ASP.NET 角色提供者 (以及 ASP.NET 成員資格提供者) 這項功能可讓 ASP.NET 開發人員建立網站,以允許使用者在網站中建立帳戶,並允許對使用者指派角色做為授權用途。任何使用者都可以使用這個功能在網站上建立帳戶,並登入以擁有網站與其服務的獨佔存取權。這與 Windows 安全性形成對比,因為 Windows 安全性需要使用者有 Windows 網域的帳戶。相反的,任何使用者只要提供認證 (使用者名稱/密碼組合) 就可以使用該網站與其服務。

如需範例應用程式,請參閱成員資格和角色提供者。如需詳細資訊 ASP.NET 成員資格提供者功能的詳細資訊,請參閱 HOW TO:使用 ASP.NET 成員資格提供者

角色提供者功能會使用 SQL Server 資料庫來儲存使用者資訊。Windows Communication Foundation (WCF) 開發人員可以利用這些功能做為安全性用途。當整合至 WCF 應用程式時,使用者必須將使用者名稱/密碼組合提供給 WCF 用戶端應用程式。若要啟用 WCF 來使用資料庫,您必須建立 ServiceAuthorizationBehavior 類別的執行個體,並將其 PrincipalPermissionMode 屬性設為 UseAspNetRoles,然後將行為集合的執行個體新增至裝載服務的 ServiceHost

若要設定角色提供者

  1. 在 Web.config 檔的 <system.web> 項目底下,新增 <roleManager> 項目並將其 enabled 屬性設為 true

  2. defaultProvider 屬性設定為 SqlRoleProvider

  3. 新增 <providers> 項目做為 <roleManager> 項目的子系。

  4. 新增 <add> 項目 (其中並將 nametypeconnectionStringName,和 applicationName 屬性設為適當值,如下列範例所示),做為 <providers> 項目的子系。

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

若要設定服務使用角色提供者

  1. 在 Web.config 檔案中,新增 <system.ServiceModel> 項目。

  2. <behaviors> 項目加入至 <system.ServiceModel> 項目。

  3. serviceBehaviors section 新增至 <behaviors> 項目。

  4. 新增 Behavior element 項目,並將 name 屬性設為適當值。

  5. <serviceAuthorization> element加入至 <behavior> 項目。

  6. principalPermissionMode 屬性設定為 UseAspNetRoles

  7. roleProviderName 屬性設定為 SqlRoleProvider。下列範例將說明組態片段。

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

另請參閱

工作

成員資格和角色提供者
HOW TO:使用 ASP.NET 成員資格提供者