Udostępnij za pośrednictwem


CA2103: Przejrzyj zabezpieczenia imperatywne

TypeName

ReviewImperativeSecurity

CheckId

CA2103

Kategoria

Microsoft.Security

Zmiana kluczowa

Kluczowa

Przyczyna

Metoda używa imperatywnych zabezpieczeń i może konstruować uprawnienia za pomocą informacji o stanie lub wartości zwrotnych, które można zmienić, tak długo, jak długo żądanie jest aktywne.

Opis reguły

Zabezpieczenia nadrzędne używają obiektów zarządzanych do określania uprawnień i działania zabezpieczeń podczas wykonywania kodu, w porównaniu do zabezpieczeń deklaracyjnych używają atrybutów do przechowywania uprawnień i akcji w metadanych.Zabezpieczenia nadrzędne są bardzo elastyczne, ponieważ można ustawić stan uprawnień obiektu i wybrać akcje zabezpieczeń przy użyciu informacji, który nie są dostępne w czasie wykonywania.Razem z tą elastycznością przychodzi ryzyko, że informacje czasu wykonywania używane do określenia stanu uprawnień nie pozostają bez zmian, tak długo jak obowiązuje akcja.

Należy używać zabezpieczeń deklaracyjnych wszędzie, gdzie to możliwe.Wymagania deklaracyjne są łatwiejsze do zrozumienia.

Jak naprawić naruszenia

Należy przejrzeć wymagania bezpieczeństwa imperatywnego, aby upewnić się, że stan uprawnień nie polega na informacjach, które można zmieniać w czasie wykorzystywania uprawnień.

Kiedy pominąć ostrzeżenia

Można bezpiecznie pominąć ostrzeżenie od tej reguły, jeśli uprawnienia nie polegają na zmiennych danych.Jednak lepiej jest zmienić wymagania imperatywne na ich odpowiednik deklaracyjny.

Zobacz też

Inne zasoby

Wytyczne dotyczące bezpiecznego programowania

Dane i modelowanie w programie .NET Framework