SqlRoleProvider Sınıf

Tanım

SQL Server veritabanındaki bir ASP.NET uygulaması için rol üyeliği bilgilerinin depolanmasını yönetir.

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
Devralma
SqlRoleProvider

Örnekler

Aşağıdaki örnekte ve nesnesini kullanmak SqlRoleProvider üzere yapılandırılmış bir ASP.NET uygulamasının Web.config dosyası gösterilmektedir SqlMembershipProvider. authorization öğesi, yalnızca Yöneticiler rolündeki kimliği doğrulanmış kullanıcılara erişime izin verecek şekilde yapılandırılır.

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

Açıklamalar

Bu sınıf, ve RolePrincipal sınıfları tarafından Roles SQL Server veritabanı kullanan bir ASP.NET uygulaması için rol yönetimi hizmetleri sağlamak için kullanılır. Uygulamanız için farklı yetkilendirme düzeyleri belirtmek üzere rol yönetimini kullanabilirsiniz.

sınıfını SqlRoleProvider kullanmak için önce tarafından SqlRoleProviderkullanılan SQL Server veritabanını oluşturmanız gerekir. sınıfı tarafından SqlRoleProvider kullanılan veritabanını oluşturmak için C:\WINDOWS\Microsoft.NET\Framework\ versionNumber klasöründe bulunan yürütülebilir dosyayı çalıştırın aspnet_regsql.exe ve seçeneğini belirtin -Ar (örneğin, aspnet_regsql.exe -Ar). Oluşturulan veritabanı Aspnetdb olarak adlandırılır. Alternatif olarak, GUI yapılandırma modunu çekmek için aspnet_regsql.exe çalıştırın ve tüm ASP.NET özelliklerini yapılandırmayı seçin.

Rol sağlayıcısı tümleşik güvenlik kullanan bir bağlantı dizesiyle yapılandırıldıysa, ASP.NET uygulamasının işlem hesabının SQL Server veritabanına bağlanma hakları olmalıdır.

Machine.config dosyası, yerel makinedeki SQL Server bağlanan AspNetSqlProvider adlı bir SqlRoleProvider örnekle yapılandırılır. Sağlayıcının bu örneğini kullanabilir veya ASP.NET uygulamanızın Web.config dosyasında kendi örneğinizi belirtebilirsiniz. AspNetSqlProvider örneğini kullanmak için yapılandırmanızda olarak AspNetSqlProvider'ı defaultProvider belirtin.

kimlik doğrulaması ve yetkilendirme bilgileri SqlMembershipProvider için tek bir veritabanı kullanmak üzere öğesini ile aynı veritabanı ve kullanıcı bilgilerini kullanacak şekilde yapılandırabilirsinizSqlRoleProvider. Üyelik ve rol bilgileri için aynı veritabanını kullanmak için aspnet_regsql.exe yürütülebilir dosyasını çalıştırın ve üyelik özelliğini yükleyin. Ardından, hem sizin hem de örnekleriniz için yapılandırmanızda SqlRoleProviderSqlMembershipProvider aynı bağlantı dizesini belirtin. Ayrıca her iki sağlayıcı örneğinin de aynı ApplicationNameile yapılandırıldığından emin olun.

Oluşturucular

SqlRoleProvider()

SqlRoleProvider sınıfının bir örneğini oluşturur.

Özellikler

ApplicationName

Rol bilgilerinin depolandığı ve alındığı uygulamanın adını alır veya ayarlar.

Description

Yönetim araçlarında veya diğer kullanıcı arabirimlerinde (UI) görüntülenmeye uygun kısa ve kolay bir açıklama alır.

(Devralındığı yer: ProviderBase)
Name

Yapılandırma sırasında sağlayıcıya başvurmak için kullanılan kolay adı alır.

(Devralındığı yer: ProviderBase)

Yöntemler

AddUsersToRoles(String[], String[])

Belirtilen rollerin her birine belirtilen kullanıcı adlarını ekler.

CreateRole(String)

Rol veritabanına yeni bir rol ekler.

DeleteRole(String, Boolean)

Rol veritabanından bir rolü kaldırır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
FindUsersInRole(String, String)

Kullanıcı adının eşleşecek belirtilen kullanıcı adını içerdiği bir roldeki kullanıcı adları dizisini alır.

GetAllRoles()

Uygulama için tüm rollerin listesini alır.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetRolesForUser(String)

Kullanıcının içinde yer aldığı rollerin listesini alır.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
GetUsersInRole(String)

Belirtilen roldeki kullanıcıların listesini alır.

Initialize(String, NameValueCollection)

ASP.NET uygulamasının yapılandırma dosyasında belirtilen özellik değerleriyle SQL Server rol sağlayıcısını başlatır. Bu yöntemin doğrudan kodunuzdan kullanılması amaçlanmamıştır.

IsUserInRole(String, String)

Belirtilen kullanıcının belirtilen rolde olup olmadığını belirten bir değer alır.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
RemoveUsersFromRoles(String[], String[])

Belirtilen rollerden belirtilen kullanıcı adlarını kaldırır.

RoleExists(String)

Belirtilen rol adının rol veritabanında zaten var olup olmadığını belirten bir değer alır.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.