CA2126: Per le richieste di collegamento dei tipi sono necessarie richieste di ereditarietà
Articolo | Valore |
---|---|
ID regola | CA2126 |
Category | Microsoft.Security |
Modifica | Interruzione |
Causa
Un tipo pubblico non bloccato è protetto con una richiesta di collegamento, ha un metodo sottoponibile a override e né il tipo né il metodo è protetto con una richiesta di ereditarietà.
Nota
Questa regola è stata deprecata. Per altre informazioni, vedere Regole deprecate.
Descrizione regola
Una richiesta di collegamento su un metodo o il relativo tipo dichiarante richiede che il chiamante immediato del metodo disponga dell'autorizzazione specificata. Una richiesta di ereditarietà su un metodo richiede un metodo di override per avere l'autorizzazione specificata. Una richiesta di ereditarietà su un tipo richiede una classe di derivazione per avere l'autorizzazione specificata.
Come correggere le violazioni
Per correggere una violazione di questa regola, proteggere il tipo o il metodo con una richiesta di ereditarietà per la stessa autorizzazione della richiesta di collegamento.
Quando eliminare gli avvisi
Non escludere un avviso da questa regola.
Esempio
Nell'esempio seguente viene illustrato un tipo che viola la regola.
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() { }
}
}
Regole correlate
CA2108: Controllare la sicurezza dichiarativa sui tipi di valori
CA2112: I tipi protetti non devono esporre campi
CA2122: Non esporre in modo indiretto metodi con richieste di collegamento
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per