SqlRoleProvider Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
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) |