SqlRoleProvider Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
Ö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ı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 makinede SQL Server'a 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 için tek bir veritabanı kullanmak üzere öğesini ile aynı veritabanı ve kullanıcı bilgilerini SqlMembershipProvider 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 SqlRoleProviderSqlMembershipProvider için yapılandırmanızda 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 olduğu 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) |
SQL Server rol sağlayıcısını ASP.NET uygulamanın yapılandırma dosyasında belirtilen özellik değerleriyle 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 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) |