AuthorizationStoreRoleProvider Sınıf

Tanım

ASP.NET bir uygulama için rol üyeliği bilgilerinin XML dosyasında, Active Directory'de veya Active Directory Uygulama Modu sunucusunda bir yetkilendirme yöneticisi ilke deposunda depolanmasını yönetir.

public ref class AuthorizationStoreRoleProvider : System::Web::Security::RoleProvider
public class AuthorizationStoreRoleProvider : System.Web.Security.RoleProvider
type AuthorizationStoreRoleProvider = class
    inherit RoleProvider
Public Class AuthorizationStoreRoleProvider
Inherits RoleProvider
Devralma
AuthorizationStoreRoleProvider

Örnekler

Aşağıdaki kod örneğinde rol yönetimi için kullanılacak bir Web.config dosyası kümesi gösterilmektedir AuthorizationStoreRoleProvider .

<configuration>  
  <connectionStrings>  
    <add name="AuthorizationServices" connectionString="msxml://~\App_Data\SampleStore.xml" />  
  </connectionStrings>  

  <system.web>  

    <authentication mode="Windows" />  
    <identity impersonate="true" />  

    <roleManager defaultProvider="AuthorizationStoreRoleProvider"   
      enabled="true"  
      cacheRolesInCookie="true"  
      cookieName=".ASPROLES"  
      cookieTimeout="30"  
      cookiePath="/"  
      cookieRequireSSL="false"  
      cookieSlidingExpiration="true"  
      cookieProtection="All" >  
      <providers>  
        <clear />  
          <add  
            name="AuthorizationStoreRoleProvider"  
            type="System.Web.Security.AuthorizationStoreRoleProvider"  
            connectionStringName="AuthorizationServices"  
            applicationName="SampleApplication"   
            cacheRefreshInterval="60"  
            scopeName="" />  
      </providers>  
    </roleManager>  

  </system.web>  
</configuration>  

Açıklamalar

Bu sınıf, yetkilendirme yöneticisi deposu kullanan bir ASP.NET uygulaması için rol yönetimi hizmetleri sağlamak üzere ve RolePrincipal sınıfları tarafından Roles kullanılır. Uygulamanız için farklı yetkilendirme düzeyleri belirtmek üzere rol yönetimini kullanabilirsiniz. Yetkilendirme yöneticisine Microsoft Yönetim Konsolu kullanılarak erişilebilir.

AuthorizationStoreRoleProvider nesnesi hem Windows kimlik doğrulamasıyla çalışır hem de kimlik doğrulama modlarını oluşturur.

Nesneyi yerel XML dosyası ya da Active Directory ya da Active Directory Uygulama Modu (ADAM) sunucusu kullanacak şekilde yapılandırabilirsiniz AuthorizationStoreRoleProvider . Yerel bir dosya kullanırken bağlantı dizesi aşağıdaki örneğe benzer olmalıdır.

msxml://<path to xml file>  

Yerel dosya bir ASP.NET Web uygulamasının dizin ağacında depolanıyorsa, kök dizini belirtmek için tilde ("~") karakterini kullanabilirsiniz. Örneğin, yerel dosyanın Web uygulamasının veri dizininde depolandığını belirtmek için aşağıdaki örneğe benzer bir bağlantı dizesi kullanırsınız.

msxml://~\App_Data\datafilename.xml

Önemli

Xml veri dosyasını Web uygulaması dizininde depolamak olası bir güvenlik tehdididir. Varsayılan olarak IIS, XML veri dosyalarını Web'e hizmet eder. ASP.NET bir uygulamada yerel veri dosyası kullanırken güvenliği artırmak için veri dosyasını dizininde App_Data depolamanız gerekir. Dizinde App_Data depolanan dosyalar Web'e sunulmaz.

İlke deposu için bir Active Directory veya ADAM sunucusu kullanıyorsanız, bağlantı dizeniz aşağıdaki örneğe benzer olmalıdır.

msldap://myserver/CN=MyAzManStore,OU=MyOU,DC=MyDomain,DC=MyDC,DC=Com

Nesne yöntemlerinin belgelerinde AuthorizationStoreRoleProvider listelenen özel durumlar, nesne tarafından AuthorizationStoreRoleProvider oluşturulan özel durumlardır. Sağlayıcı, temel alınan Authentication Manager çalışma zamanına dayandığından, COMException nesne Authentication Manager çalışma zamanına AuthorizationStoreRoleProvider bir yöntem çağrısı ilettiğinde bir özel durum oluşturulabilir.

Önemli

nesnesi AuthorizationStoreRoleProvider , kısmi güven ortamlarında çalıştırmak için aşağıdaki gereksinimlere sahiptir:

bir ASP.NET uygulamasında dosya tabanlı ilke deposu kullanılırken, geçerli güven düzeyi tarafından verilen dosya G/Ç izinleri, sağlayıcı tarafından okuma ve yazma eylemlerine izin verilip verilmeyeceğini belirler. ASP.NET uygulamasının ilke deposundaki verileri okumak için dosya üzerinde okuma iznine sahip olması ve yeni bilgileri kaydetmek veya ilke deposundaki mevcut bilgileri güncelleştirmek için yazma iznine sahip olması gerekir. Varsayılan Orta güven ilkesi dosyası, uygulama dizininde ASP.NET uygulama okuma/yazma izinleri verir. Varsayılan Düşük güven ilkesi dosyası, uygulama dizininde yalnızca ASP.NET uygulama okuma izni verir. Ayrıca, ASP.NET uygulamasının çalıştığı işlem kimliği, ilke dosyasını okumak ve/veya yazmak için dosya sistemi izinlerine sahip olmalıdır.

Bir Active Directory veya ADAM sunucusu kullanırken, iç AuthorizationStoreRoleProvider nesne kodu COM birlikte çalışma kullandığından ASP.NET uygulamanın yönetilmeyen kod iznine ihtiyacı vardır.

nesnesini ASP.NET dışında kullanırken AuthorizationStoreRoleProvider çağıran kodun yönetilmeyen kod iznine sahip olması gerekir.

Oluşturucular

AuthorizationStoreRoleProvider()

AuthorizationStoreRoleProvider sınıfının yeni bir örneğini başlatır.

Özellikler

ApplicationName

Rol bilgilerinin depolandığı ve alındığı yetkilendirme deposu uygulamasının adını alır veya ayarlar.

CacheRefreshInterval

İlke deposu verilerinin önbelleğinin yenilenmesi arasındaki dakika sayısını alır.

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

Yetkilendirme deposunun kapsam adını alır veya ayarlar.

Yöntemler

AddUsersToRoles(String[], String[])

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

CreateRole(String)

Role authorization-manager ilke deposuna yeni bir rol ekler.

DeleteRole(String, Boolean)

Yetkilendirme yöneticisi ilke deposundan 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)

Bu yöntem yetkilendirme deposu rol sağlayıcısı tarafından desteklenmez.

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)

yetkilendirme yöneticisi rol sağlayıcısını, ASP.NET uygulamasının yapılandırma dosyasında belirtilen özellik değerleriyle 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 authorization-manager ilke deposunda 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.