SqlRoleProvider Osztály

Definíció

Egy ASP.NET-alkalmazás szerepkör-tagsági adatainak tárolása egy SQL Server adatbázisban.

public ref class SqlRoleProvider : System::Web::Security::RoleProvider
public class SqlRoleProvider : System.Web.Security.RoleProvider
type SqlRoleProvider = class
    inherit RoleProvider
Public Class SqlRoleProvider
Inherits RoleProvider
Öröklődés
SqlRoleProvider

Példák

Az alábbi példa egy SqlRoleProvider objektum és a SqlMembershipProvider használatára konfigurált ASP.NET alkalmazás Web.config fájlját mutatja be. Az authorization elem úgy van konfigurálva, hogy csak a Rendszergazdák szerepkörben engedélyezze a hitelesített felhasználók hozzáférését.

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="logincs.aspx"
      name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
      <allow roles="Administrators" />
      <deny users="*" />
    </authorization>
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="SqlServices"
          enablePasswordRetrieval="false"
          enablePasswordReset="false"
          requiresQuestionAndAnswer="false"
          passwordFormat="Hashed"
          applicationName="SampleApplication" />
      </providers>
    </membership>
    <roleManager defaultProvider="SqlProvider"
      enabled="true"
      cacheRolesInCookie="true"
      cookieName=".ASPROLES"
      cookieTimeout="30"
      cookiePath="/"
      cookieRequireSSL="true"
      cookieSlidingExpiration="true"
      cookieProtection="All" >
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlRoleProvider"
          connectionStringName="SqlServices"
          applicationName="SampleApplication" />
      </providers>
    </roleManager>
  </system.web>
</configuration>

Megjegyzések

Ezt az osztályt a Roles és RolePrincipal osztályok használják, hogy szerepkör-kezelési szolgáltatásokat nyújtsanak egy ASP.NET-alkalmazáshoz egy SQL Server-adatbázis használatával. A szerepkör-kezeléssel különböző engedélyezési szinteket adhat meg az alkalmazáshoz.

A SqlRoleProvider osztály használatához először létre kell hoznia a SqlRoleProvider által használt SQL Server adatbázist. A SqlRoleProvider osztály által használt adatbázis létrehozásához futtassa a C:\WINDOWS\Microsoft.NET\Framework\ aspnet_regsql.exe mappában található versionNumber végrehajtható fájlt, és adja meg a -Ar beállítást (például aspnet_regsql.exe -Ar). A létrehozott adatbázis neve Aspnetdb. Másik lehetőségként futtassa a aspnet_regsql.exe a grafikus felhasználói felület konfigurációs módjának lekéréséhez és az összes ASP.NET funkció konfigurálásához.

Ha a szerepkör-szolgáltató olyan kapcsolati karakterlánc van konfigurálva, amely integrált biztonságot használ, a ASP.NET alkalmazás folyamatfiókjának jogosultsággal kell rendelkeznie a SQL Server adatbázishoz való csatlakozáshoz.

A Machine.config fájl egy AspNetSqlProvider nevű SqlRoleProvider példánysal van konfigurálva, amely a helyi gépen található SQL Server csatlakozik. Használhatja a szolgáltató ezen példányát, vagy megadhatja a sajátját a ASP.NET alkalmazás Web.config fájljában. Az AspNetSqlProvider-példány használatához adja meg az AspNetSqlProvidert a defaultProvider konfigurációban.

Beállíthatja, hogy ugyanazt az SqlRoleProvider adatbázist és felhasználói adatokat használja, mint az SqlMembershipProvider , hogy egyetlen adatbázist használjon a hitelesítési és engedélyezési információkhoz. Ha ugyanazt az adatbázist szeretné használni tagsági és szerepkör-információkhoz, futtassa a aspnet_regsql.exe végrehajtható fájlt, és telepítse a tagsági funkciót. Ezután adja meg ugyanazt a kapcsolati karakterlánc a SqlRoleProvider és SqlMembershipProvider példányok konfigurációjában. Győződjön meg arról is, hogy mindkét szolgáltatópéldány ugyanazzal ApplicationNamea beállítással van konfigurálva.

Konstruktorok

Name Description
SqlRoleProvider()

Létrehozza a SqlRoleProvider osztály példányát.

Tulajdonságok

Name Description
ApplicationName

Lekéri vagy beállítja annak az alkalmazásnak a nevét, amelynek a szerepköradatait tárolni és lekérni szeretné.

Description

Rövid, rövid leírást kap, amely alkalmas a felügyeleti eszközökben vagy más felhasználói felületeken való megjelenítésre.

(Öröklődés forrása ProviderBase)
Name

Lekéri a szolgáltatóra való hivatkozáshoz használt rövid nevet a konfiguráció során.

(Öröklődés forrása ProviderBase)

Metódusok

Name Description
AddUsersToRoles(String[], String[])

Hozzáadja a megadott felhasználóneveket a megadott szerepkörökhöz.

CreateRole(String)

Új szerepkört ad hozzá a szerepkör-adatbázishoz.

DeleteRole(String, Boolean)

Eltávolít egy szerepkört a szerepkör-adatbázisból.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
FindUsersInRole(String, String)

Beolvas egy olyan felhasználóneveket tartalmazó tömböt egy szerepkörben, amelyben a felhasználónév tartalmazza a megadott felhasználónevet.

GetAllRoles()

Lekéri az alkalmazás összes szerepkörének listáját.

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetRolesForUser(String)

Lekéri a felhasználók szerepköreinek listáját.

GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
GetUsersInRole(String)

Lekéri a megadott szerepkörben lévő felhasználók listáját.

Initialize(String, NameValueCollection)

Inicializálja a SQL Server szerepkör-szolgáltatót a ASP.NET alkalmazás konfigurációs fájljában megadott tulajdonságértékekkel. Ez a módszer nem használható közvetlenül a kódból.

IsUserInRole(String, String)

Beolvas egy értéket, amely jelzi, hogy a megadott felhasználó szerepel-e a megadott szerepkörben.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
RemoveUsersFromRoles(String[], String[])

Eltávolítja a megadott felhasználóneveket a megadott szerepkörökből.

RoleExists(String)

Beolvas egy értéket, amely jelzi, hogy a megadott szerepkörnév már létezik-e a szerepkör-adatbázisban.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes:

Lásd még