CA2126: Typ żądań konsolidacji wymaga żądań dziedziczenia
Pozycja | Wartość |
---|---|
Ruleid | CA2126 |
Kategoria | Microsoft.Security |
Zmiana powodująca niezgodność | Kluczowa |
Przyczyna
Publiczny niezaziemowany typ jest chroniony za pomocą żądania łącza, ma metodę przesłoniętą, a ani typ, ani metoda nie jest chroniona za pomocą żądania dziedziczenia.
Uwaga
Ta reguła została przestarzała. Aby uzyskać więcej informacji, zobacz Przestarzałe reguły.
Opis reguły
Żądanie łącza dla metody lub jej typu deklarowania wymaga natychmiastowego wywołania metody, aby mieć określone uprawnienie. Żądanie dziedziczenia w metodzie wymaga zastąpienia metody, aby mieć określone uprawnienie. Żądanie dziedziczenia dla typu wymaga klasy pochodnej, aby mieć określone uprawnienie.
Jak naprawić naruszenia
Aby naprawić naruszenie tej reguły, należy zabezpieczyć typ lub metodę z żądaniem dziedziczenia dla tego samego uprawnienia co żądanie łącza.
Kiedy pomijać ostrzeżenia
Nie pomijaj ostrzeżeń dla tej reguły.
Przykład
W poniższym przykładzie pokazano typ, który narusza regułę.
using System;
using System.Security.Permissions;
namespace SecurityLibrary
{
[EnvironmentPermission(SecurityAction.LinkDemand, Read = "PATH")]
public class TypesWithLinkDemands
{
public virtual void UnsecuredMethod() {}
[EnvironmentPermission(SecurityAction.InheritanceDemand, Read = "PATH")]
public virtual void SecuredMethod() { }
}
}
Powiązane reguły
CA2108: Przejrzyj zabezpieczenia deklaratywne typów wartości
CA2112: Typy zabezpieczone nie powinny ujawniać pól
CA2122: Nie ujawniaj pośrednio metod żądaniami LinkDemand
CA2123: Przesłonięcia żądań konsolidacji powinny być identyczne z podstawowymi
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla