Aracılığıyla paylaş


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 Web.config dosyası 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 veya Active Directory Uygulama Modu (ADAM) sunucusu kullanacak şekilde yapılandırabilirsiniz AuthorizationStoreRoleProvider . 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 kullanabilirsiniz.

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. bir ASP.NET uygulamasında 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 tetiklenen özel durumlardır. Sağlayıcı, temel alınan Authentication Manager çalışma zamanına dayandığından, nesne Authentication COMException 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ış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 bir uygulama okuma/yazma izinleri verir. Varsayılan Düşük güven ilkesi dosyası yalnızca uygulama dizininde ASP.NET bir uygulama 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.

Bir Active Directory veya ADAM sunucusu kullanırken, iç AuthorizationStoreRoleProvider nesne kodu COM birlikte çalışma kullandığından ASP.NET uygulama yönetilmeyen kod iznine ihtiyaç duyar.

nesneyi 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ğindeki yenilemeler 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)

Yetkilendirme yöneticisi ilke deposuna yeni bir rol ekler.

DeleteRole(String, Boolean)

Authorization-manager 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()

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 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 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.