StrongNameIdentityPermission Sınıf

Tanım

Dikkat

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

Tanımlayıcı adlar için kimlik iznini tanımlar. Bu sınıf devralınamaz.

public ref class StrongNameIdentityPermission sealed : System::Security::CodeAccessPermission
[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 StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
Public NotInheritable Class StrongNameIdentityPermission
Inherits CodeAccessPermission
Devralma
StrongNameIdentityPermission
Öznitelikler

Açıklamalar

Dikkat

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ıyorsa hata üretir. Geliştiriciler, güvenlik görevlerini yerine getirmek için alternatif yöntemler aramalıdır.

Önemli

.NET Framework 4'den başlayarak kimlik izinleri kullanılmaz.

.NET Framework sürüm 1.0 ve 1.1'de kimlik izinlerinin izin durumu değeri olamazUnrestricted. .NET Framework sürüm 2.0 ve sonraki sürümlerde kimlik izinleri herhangi bir izin durumu değerine sahip olabilir. Bu, sürüm 2.0 ve sonraki sürümlerde kimlik izinlerinin arabirimi uygulayan izinlerle aynı davranışa IUnrestrictedPermission sahip olduğu anlamına gelir. Yani, derlemeye tam güven verildiyse, derlemenin kimliği ne olursa olsun bir kimliğe yönelik talep her zaman başarılı olur.

Çağıran kodun belirli bir tanımlayıcı adlandırılmış kod derlemesinde olduğunu onaylamak için kullanın StrongNameIdentityPermission . Tam talepler StrongNameIdentityPermission ancak yığındaki tüm derlemelerin talebi karşılamak için doğru kanıta sahip olması durumunda başarılı olur. Bağlantı, özniteliğini StrongNameIdentityPermissionAttribute kullanmanın ancak hemen çağıranın doğru kanıta sahip olması durumunda başarılı olmasını talep ediyor.

Tanımlayıcı ad kimliği, isteğe bağlı olarak belirli bir derlemenin adı ve sürümüyle birleştirilen ikili büyük nesne (BLOB) adlı şifreleme ortak anahtarını temel alır. Anahtar benzersiz bir ad alanı tanımlar ve adın orijinal olduğunu doğrular çünkü adın tanımı ilgili özel anahtar tarafından imzalanan bir derlemede olmalıdır.

Tanımlayıcı ad anahtarının geçerliliğinin bir güven ilişkisine veya anahtar için verilen herhangi bir sertifikaya bağlı olmadığını unutmayın.

.NET Framework sürüm 1.0 ve 1.1'de, çağrı derlemesine tam olarak güvenildiğinde bile kimlik izinlerine yönelik talepler etkili olur. Diğer bir ifadeyle, çağıran derleme tam güvene sahip olsa bile, derleme talep edilen ölçütleri karşılamıyorsa kimlik izni talebi başarısız olur. .NET Framework sürüm 2.0 ve sonraki sürümlerde, çağıran derleme tam güvene sahipse kimlik izinleri talepleri etkisizdir. Bu, tüm izinler için tutarlılık sağlar ve özel bir durum olarak kimlik izinlerinin işlenmesini ortadan kaldırır.

Tanımlayıcı adların tam açıklaması için başvuru sayfasına bakın StrongName . Tanımlayıcı adlandırılmış derlemeler hakkında daha fazla bilgi için bkz . Tanımlayıcı adlandırılmış derlemeler.

StrongNameIdentityPermission sınıfı, bir türün ortak üyelerine erişmek için tanımlayıcı ad gereksinimlerini tanımlamak için kullanılır. özniteliği, StrongNameIdentityPermissionAttribute derleme düzeyinde tanımlayıcı ad gereksinimlerini tanımlamak için kullanılabilir. .NET Framework sürüm 2.0 ve sonraki sürümlerde, özniteliğini InternalsVisibleToAttribute kullanarak bu derlemedeki tüm abonelik dışı türlerin başka bir derlemeye görünür olduğunu belirtebilirsiniz. Daha fazla bilgi için bkz . Arkadaş derlemeleri.

Oluşturucular

StrongNameIdentityPermission(PermissionState)
Geçersiz.

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

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)
Geçersiz.

Belirtilen tanımlayıcı ad kimliği için sınıfının yeni bir örneğini StrongNameIdentityPermission başlatır.

Özellikler

Name
Geçersiz.

Tanımlayıcı ad kimliğinin basit ad bölümünü alır veya ayarlar.

PublicKey
Geçersiz.

Tanımlayıcı ad kimliği ad alanını tanımlayan ortak anahtar blobunu alır veya ayarlar.

Version
Geçersiz.

Kimliğin sürüm numarasını alır veya ayarlar.

Yöntemler

Assert()
Geçersiz.

Yığında daha yüksek arayanlara kaynağa erişim izni verilmemiş olsa bile çağıran kodun bu yöntemi çağıran kod aracılığıyla izin talebiyle korunan kaynağa erişebileceğini bildirir. kullanmak Assert() güvenlik sorunları oluşturabilir.

(Devralındığı yer: CodeAccessPermission)
Copy()
Geçersiz.

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

Demand()
Geçersiz.

Çağrı yığınında daha yüksek olan tüm arayanlara geçerli örnek tarafından belirtilen izin verilmediyse, çalışma zamanında bir SecurityException zorlar.

(Devralındığı yer: CodeAccessPermission)
Deny()
Geçersiz.
Geçersiz.

Çağrı yığınında daha yüksek çağıranların geçerli örnek tarafından belirtilen kaynağa erişmek için bu yöntemi çağıran kodu kullanmasını engeller.

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

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

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

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

GetHashCode()
Geçersiz.

Karma algoritmalarında ve karma tablosu gibi veri yapılarında kullanıma uygun nesne için CodeAccessPermission karma kodu alır.

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

Type Geçerli örneğini 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.

MemberwiseClone()
Geçersiz.

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

Çağrı yığınında daha yüksek çağıranların geçerli örnek tarafından belirtilen kaynak dışında tüm kaynaklara erişmek için bu yöntemi çağıran kodu kullanmasını engeller.

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

Geçerli izin nesnesinin dize gösterimini oluşturur ve döndürür.

(Devralındığı yer: CodeAccessPermission)
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.