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