AuthorizationStoreRoleProvider Sınıf

Tanım

ASP.NET bir uygulama için rol üyeliği bilgilerinin XML dosyasında, Active Directory 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 Web.config dosya 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, Roles ve RolePrincipal sınıfları tarafından authorization-manager deposu kullanan bir ASP.NET uygulaması için rol yönetimi hizmetleri sağlamak üzere 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 authentication hem de form kimlik doğrulama modlarıyla çalışır.

AuthorizationStoreRoleProvider nesnesini yerel XML dosyası veya Active Directory ya da Active Directory Uygulama Modu (ADAM) sunucusu kullanacak şekilde yapılandırabilirsiniz. Yerel bir dosya kullanılı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

Important

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ı App_Data dizininde 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ı dizesi 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, nesnesi tarafından AuthorizationStoreRoleProvider tetiklenen özel durumlardır. Sağlayıcı, temel alınan Authentication Manager çalışma zamanına bağlı olduğundan, COMException nesne Authentication Manager çalışma zamanına AuthorizationStoreRoleProvider bir yöntem çağrısı ilettiğinde bir özel durum oluşturulabilir.

Important

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

ASP.NET bir uygulamada 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 bir uygulamaya okuma izni verir. Ayrıca, ASP.NET uygulamasının çalıştığı işlem kimliğinin, ilke dosyasını okumak ve/veya yazmak için dosya sistemi izinlerine sahip olması gerekir.

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.

AuthorizationStoreRoleProvider nesnesini ASP.NET dışında kullanırken, çağıran kodun yönetilmeyen kod iznine ihtiyacı vardır.

Oluşturucular

Name Description
AuthorizationStoreRoleProvider()

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

Özellikler

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

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

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ö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 authorization-manager ilke deposunda zaten var olup olmadığını belirten 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.