StrongNameIdentityPermission Klasa

Definicja

Przestroga

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

Definiuje uprawnienie tożsamości dla silnych nazw. Klasa ta nie może być dziedziczona.

public ref class StrongNameIdentityPermission sealed : 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}")]
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
type StrongNameIdentityPermission = class
    inherit 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
Public NotInheritable Class StrongNameIdentityPermission
Inherits CodeAccessPermission
Dziedziczenie
StrongNameIdentityPermission
Atrybuty

Uwagi

Przestroga

Zabezpieczenia dostępu do kodu (CAS) zostały przestarzałe we wszystkich wersjach .NET Framework i .NET. Najnowsze wersje platformy .NET nie honorują adnotacji CAS i generują błędy, jeśli są używane interfejsy API związane z usługą CAS. Deweloperzy powinni szukać alternatywnych sposobów wykonywania zadań zabezpieczeń.

Ważne

Począwszy od .NET Framework 4, uprawnienia tożsamości nie są używane.

W .NET Framework wersji 1.0 i 1.1 uprawnienia tożsamości nie mogą mieć Unrestricted wartości stanu uprawnień. W .NET Framework wersji 2.0 lub nowszej uprawnienia tożsamości mogą mieć dowolną wartość stanu uprawnień. Oznacza to, że w wersji 2.0 lub nowszej uprawnienia tożsamości mają takie samo zachowanie jak uprawnienia implementujące IUnrestrictedPermission interfejs. Oznacza to, że żądanie tożsamości zawsze kończy się powodzeniem, niezależnie od tożsamości zestawu, jeśli zestaw otrzymał pełne zaufanie.

Użyj polecenia StrongNameIdentityPermission , aby potwierdzić, że kod wywołujący jest w konkretnym zestawie kodu o silnej nazwie. Pełne wymagania dotyczące StrongNameIdentityPermission powodzenia tylko wtedy, gdy wszystkie zestawy w stosie mają prawidłowe dowody spełniające zapotrzebowanie. Żądanie linku, które używa atrybutu StrongNameIdentityPermissionAttribute powiedzie się tylko wtedy, gdy bezpośredni obiekt wywołujący ma poprawne dowody.

Tożsamość silnej nazwy jest oparta na kryptograficznym kluczu publicznym nazywanym obiektem binarnym (BLOB), który jest opcjonalnie połączony z nazwą i wersją określonego zestawu. Klucz definiuje unikatową przestrzeń nazw i zapewnia silną weryfikację, że nazwa jest prawdziwa, ponieważ definicja nazwy musi znajdować się w zestawie podpisanym przez odpowiedni klucz prywatny.

Należy pamiętać, że ważność silnego klucza nazwy nie zależy od relacji zaufania ani certyfikatu, który musi być wystawiony dla klucza.

W .NET Framework wersji 1.0 i 1.1 wymagania dotyczące uprawnień tożsamości są skuteczne nawet wtedy, gdy zestaw wywołujący jest w pełni zaufany. Oznacza to, że nawet jeśli zestaw wywołujący ma pełne zaufanie, żądanie uprawnienia tożsamości zakończy się niepowodzeniem, jeśli zestaw nie spełnia wymagań kryteriów. W .NET Framework w wersji 2.0 lub nowszej żądania dotyczące uprawnień tożsamości są nieskuteczne, jeśli zestaw wywołujący ma pełne zaufanie. Zapewnia to spójność wszystkich uprawnień i eliminuje traktowanie uprawnień tożsamości jako specjalny przypadek.

Pełny opis silnych nazw można znaleźć na stronie referencyjnej StrongName . Aby uzyskać więcej informacji na temat zestawów o silnych nazwach, zobacz Zestawy o silnych nazwach.

Klasa StrongNameIdentityPermission służy do definiowania wymagań silnej nazwy na potrzeby uzyskiwania dostępu do publicznych elementów członkowskich typu. Atrybut StrongNameIdentityPermissionAttribute może służyć do definiowania wymagań o silnej nazwie na poziomie zestawu. W .NET Framework w wersji 2.0 lub nowszej można również użyć atrybutu InternalsVisibleToAttribute , aby określić, że wszystkie typy niepublicowe w tym zestawie są widoczne dla innego zestawu. Aby uzyskać więcej informacji, zobacz Zestawy przyjacielskie.

Konstruktory

StrongNameIdentityPermission(PermissionState)
Przestarzałe.

Inicjuje StrongNameIdentityPermission nowe wystąpienie klasy o określonej wartości PermissionState.

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)
Przestarzałe.

Inicjuje StrongNameIdentityPermission nowe wystąpienie klasy dla określonej tożsamości silnej nazwy.

Właściwości

Name
Przestarzałe.

Pobiera lub ustawia prostą część nazwy silnej tożsamości.

PublicKey
Przestarzałe.

Pobiera lub ustawia obiekt blob klucza publicznego, który definiuje przestrzeń nazw tożsamości silnej nazwy.

Version
Przestarzałe.

Pobiera lub ustawia numer wersji tożsamości.

Metody

Assert()
Przestarzałe.

Deklaruje, że kod wywołujący może uzyskać dostęp do zasobu chronionego przez żądanie uprawnień za pomocą kodu wywołującego tę metodę, nawet jeśli osoby wywołujące wyższe w stosie nie otrzymały uprawnień dostępu do zasobu. Używanie Assert() polecenia może powodować problemy z zabezpieczeniami.

(Odziedziczone po CodeAccessPermission)
Copy()
Przestarzałe.

Tworzy i zwraca identyczną kopię bieżącego uprawnienia.

Demand()
Przestarzałe.

Wymusza czas wykonywania, SecurityException jeśli wszystkie osoby wywołujące wyższe w stosie wywołań nie otrzymały uprawnień określonych przez bieżące wystąpienie.

(Odziedziczone po CodeAccessPermission)
Deny()
Przestarzałe.
Przestarzałe.

Zapobiega wywoływaniom wyższym w stosie wywołań przy użyciu kodu, który wywołuje tę metodę w celu uzyskania dostępu do zasobu określonego przez bieżące wystąpienie.

(Odziedziczone po CodeAccessPermission)
Equals(Object)
Przestarzałe.

Określa, czy określony CodeAccessPermission obiekt jest równy bieżącemu CodeAccessPermission.

(Odziedziczone po CodeAccessPermission)
FromXml(SecurityElement)
Przestarzałe.

Rekonstruuje uprawnienie o określonym stanie z kodowania XML.

GetHashCode()
Przestarzałe.

Pobiera kod skrótu CodeAccessPermission dla obiektu, który jest odpowiedni do użycia w algorytmach tworzenia skrótów i strukturach danych, takich jak tabela skrótów.

(Odziedziczone po CodeAccessPermission)
GetType()
Przestarzałe.

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
Intersect(IPermission)
Przestarzałe.

Tworzy i zwraca uprawnienie, które jest skrzyżowaniem bieżącego uprawnienia i określonego uprawnienia.

IsSubsetOf(IPermission)
Przestarzałe.

Określa, czy bieżące uprawnienie jest podzbiorem określonego uprawnienia.

MemberwiseClone()
Przestarzałe.

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
PermitOnly()
Przestarzałe.

Zapobiega wywoływaniom wyższym w stosie wywołań przy użyciu kodu, który wywołuje tę metodę, aby uzyskać dostęp do wszystkich zasobów z wyjątkiem zasobu określonego przez bieżące wystąpienie.

(Odziedziczone po CodeAccessPermission)
ToString()
Przestarzałe.

Tworzy i zwraca reprezentację ciągu bieżącego obiektu uprawnień.

(Odziedziczone po CodeAccessPermission)
ToXml()
Przestarzałe.

Tworzy kodowanie XML uprawnienia i jego bieżącego stanu.

Union(IPermission)
Przestarzałe.

Tworzy uprawnienie, które jest związkiem bieżącego uprawnienia i określonego uprawnienia.

Dotyczy

Zobacz też