Partilhar via


CA2103: Revisão de segurança imperativa

TypeName

ReviewImperativeSecurity

CheckId

CA2103

<strong>Categoria</strong>

Microsoft.Security

Alteração significativa

Quebrando

Causa

Um método usa segurança imperativa e pode construir a permissão usando valores de retorno ou de informações de estado que podem ser alterado, desde que a demanda está ativa.

Descrição da regra

Segurança imperativa usa objetos gerenciados para especificar as permissões e ações de segurança durante a execução de código, em comparação comparada a segurança declarativa, que usa atributos para armazenar as permissões e as ações nos metadados. Segurança imperativa é muito flexível, pois você pode definir o estado de um objeto de permissão e selecione as ações de segurança usando as informações que não está disponíveis até que o tempo de execução. Juntamente com a flexibilidade vem o risco de que as informações de runtime que você pode usar para determinar que o estado de uma permissão não permanece inalteradas desde que a ação está em vigor.

Use a segurança declarativa, sempre que possível. As solicitações declarativas são mais fáceis de entender.

Como corrigir violações

Revise as demandas de segurança imperativa para certificar-se de que o estado da permissão não depende de informações que podem ser alterado, desde que a permissão está sendo usada.

Quando suprimir avisos

É seguro eliminar um aviso esta regra se a permissão não depende de alteração de dados. No entanto, é melhor alterar a demanda imperativa para seu equivalente declarativa.

Consulte também

Conceitos

Diretrizes para Codificação Segura

Outros recursos

Modelagem e acesso a dados