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, SqlRoleProvider nesnesi ve SqlMembershipProvider kullanmak üzere yapılandırılmış bir ASP.NET uygulamasının Web.config dosyası gösterilmektedir. 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 Roles ve RolePrincipal sınıfları tarafından 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.

SqlRoleProvider sınıfını kullanmak için önce SqlRoleProvider tarafından kullanılan SQL Server veritabanını oluşturmanız gerekir. SqlRoleProvider sınıfı tarafından kullanılan veritabanını oluşturmak için C:\WINDOWS\Microsoft.NET\Framework\ aspnet_regsql.exe klasöründe bulunan versionNumber yürütülebilir dosyasını çalıştırın ve -Ar seçeneğini belirtin (örneğin, aspnet_regsql.exe -Ar). Oluşturulan veritabanı Aspnetdb olarak adlandırılır. Alternatif olarak, GUI yapılandırma modunu yukarı ç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ı dizesi ile yapılandırılmışsa, 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ı SqlRoleProvider örneğiyle 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 için tek bir veritabanı kullanmak üzere öğesini ile aynı veritabanı ve kullanıcı bilgilerini SqlRoleProvider kullanacak şekilde yapılandırabilirsinizSqlMembershipProvider. Ü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 SqlRoleProvider hem de SqlMembershipProvider örnekleriniz için yapılandırmanızda aynı bağlantı dizesi belirtin. Ayrıca her iki sağlayıcı örneğinin de aynı ApplicationNameile yapılandırıldığından emin olun.

Oluşturucular

Name Description
SqlRoleProvider()

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

Özellikler

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

Name Description
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 olduğu rollerin listesini alır.

GetType()

Geçerli örneğin Type 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öntem doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

IsUserInRole(String, String)

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

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

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

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

RoleExists(String)

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

ToString()

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

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.