PrincipalPermission Sınıf

Tanım

Dikkat

Code Access Security is not supported or honored by the runtime.

Hem bildirim temelli hem de kesinlik temelli güvenlik eylemleri için tanımlanan dil yapılarını kullanarak etkin sorumluya (bkz IPrincipal. ) karşı denetimlere izin verir. Bu sınıf devralınamaz.

public ref class PrincipalPermission sealed : System::Security::IPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type PrincipalPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IUnrestrictedPermission
[<System.Serializable>]
type PrincipalPermission = class
    interface IPermission
    interface IUnrestrictedPermission
    interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
    interface IPermission
    interface IUnrestrictedPermission
    interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IUnrestrictedPermission
type PrincipalPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IUnrestrictedPermission
Public NotInheritable Class PrincipalPermission
Implements IPermission, IUnrestrictedPermission
Devralma
PrincipalPermission
Öznitelikler
Uygulamalar

Açıklamalar

Caution

Kod Erişim Güvenliği (CAS), .NET Framework ve .NET'in tüm sürümlerinde kullanım dışı bırakılmıştır. .NET'in son sürümleri CAS ek açıklamalarını dikkate almaz ve CAS ile ilgili API'ler kullanılırsa hata üretir. Geliştiriciler, güvenlik görevlerini yerine getirmek için alternatif yöntemler aramalıdır.

Oluşturucuya kimlik bilgileri (kullanıcı adı ve rol) geçirilerek, PrincipalPermission etkin sorumlunun kimliğinin bu bilgilerle eşleşmesini talep etmek için kullanılabilir.

Etkin IPrincipal ve ilişkili IIdentityile eşleştirmek için hem belirtilen kimlik hem de rol eşleşmelidir. Kimlik dizesi kullanılırsa null , herhangi bir kimlikle eşleşme isteği olarak yorumlanır. Rol dizesinin null kullanımı herhangi bir rolle eşleşecektir. Etkiyle, veya nullname için role parametresi geçirilmesi PrincipalPermission herhangi bir IPrincipaliçindeki kimlik ve rollerle eşleşecektir. Yalnızca kimliği doğrulanmış veya kimliği doğrulanmamış bir varlığı temsil edip etmediğini PrincipalPermission belirleyen bir de oluşturmak IIdentity mümkündür. Bu durumda ve namerole yoksayılır.

Diğer izinlerin çoğundan farklı olarak genişletmez PrincipalPermissionCodeAccessPermission. Ancak arabirimini IPermission uygular. Bunun nedeni PrincipalPermission kod erişim izni olmamasıdır; başka bir ifadeyle, yürütülen derlemenin kimliğine göre verilmemesidir. Bunun yerine, kodun geçerli kullanıcı kimliğine yönelik eylemleri (Demand, Union, Intersectvb.) kod erişimi ve kod kimliği izinleri için gerçekleştirilen eylemlerle tutarlı bir şekilde gerçekleştirmesine olanak tanır.

Important

Asıl izin talebi öncesinde, geçerli uygulama etki alanının asıl ilkesini numaralandırma değerine WindowsPrincipalayarlamak gerekir. Varsayılan olarak, asıl ilke olarak UnauthenticatedPrincipalayarlanır. Asıl ilkeyi olarak WindowsPrincipalayarlamazsanız, asıl izin talebi başarısız olur. Asıl izin talep edilmeden önce aşağıdaki kod yürütülmelidir:

AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).

Oluşturucular

Name Description
PrincipalPermission(PermissionState)
Geçersiz.

belirtilen PrincipalPermissionile sınıfının yeni bir örneğini PermissionState başlatır.

PrincipalPermission(String, String, Boolean)
Geçersiz.

Belirtilen PrincipalPermission, nameve kimlik doğrulama durumu için sınıfının yeni bir örneğini role başlatır.

PrincipalPermission(String, String)
Geçersiz.

Belirtilen PrincipalPermission ve nameiçin sınıfının yeni bir örneğini role başlatır.

Yöntemler

Name Description
Copy()
Geçersiz.

Geçerli iznin özdeş bir kopyasını oluşturur ve döndürür.

Demand()
Geçersiz.

Çalışma zamanında geçerli sorumlunun geçerli izin tarafından belirtilen sorumluyla eşleşip eşleşmediğini belirler.

Equals(Object)
Geçersiz.

Belirtilen PrincipalPermission nesnenin geçerli PrincipalPermissionöğesine eşit olup olmadığını belirler.

Equals(Object)
Geçersiz.

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
FromXml(SecurityElement)
Geçersiz.

XML kodlamasından belirtilen duruma sahip bir izni yeniden oluşturur.

GetHashCode()
Geçersiz.

Karma algoritmalarda ve karma tablo gibi veri yapılarında kullanıma uygun nesne için PrincipalPermission bir karma kodu alır.

GetHashCode()
Geçersiz.

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()
Geçersiz.

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
Intersect(IPermission)
Geçersiz.

Geçerli iznin ve belirtilen iznin kesişimi olan bir izin oluşturur ve döndürür.

IsSubsetOf(IPermission)
Geçersiz.

Geçerli iznin belirtilen iznin bir alt kümesi olup olmadığını belirler.

IsUnrestricted()
Geçersiz.

Geçerli iznin kısıtlanıp kısıtlanmadığını belirten bir değer döndürür.

MemberwiseClone()
Geçersiz.

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()
Geçersiz.

Geçerli izni temsil eden bir dize oluşturur ve döndürür.

ToXml()
Geçersiz.

İznin ve geçerli durumunun XML kodlamasını oluşturur.

Union(IPermission)
Geçersiz.

Geçerli iznin ve belirtilen iznin birleşimi olan bir izin oluşturur.

Şunlara uygulanır

Ayrıca bkz.