Udostępnij przez


Projektowanie pod kątem zabezpieczeń

Kompleksowa strategia zabezpieczeń zależy oczywiście od typu opracowywanej aplikacji rozproszonej. Poniżej przedstawiono kilka sugestii dotyczących zabezpieczeń w odniesieniu do logiki aplikacji warstwy środkowej:

  • W celu efektywności i wydajności, uwierzytelniaj użytkownika tak blisko, jak to możliwe. Jeśli aplikacja obejmuje architekturę typu przeglądarka-logika-baza danych, rozważ mapowanie klientów przeglądarki na tożsamości domeny, uruchom aplikację COM+ w tożsamościach specyficznych dla każdej aplikacji i skonfiguruj tabele w warstwie danych, aby były dostępne wyłącznie dla określonej tożsamości aplikacji. Ten zaufany scenariusz serwera jest bardziej skalowalny i mniej problematyczny niż używanie systemu DBMS do uwierzytelniania.
  • Jeśli projektujesz składnik, który będzie używany w aplikacji rozproszonej przy użyciu zabezpieczeń opartych na rolach, możesz użyć funkcji zabezpieczeń COM+. Ta funkcja umożliwia wywoływanie metod, takich jak IObjectContext::IsCallerInRole i IObjectContext::IsSecurityEnabled w celu ochrony bloków kodu przed nieautoryzowanym dostępem. Możesz również użyć kontekstu wywołania zabezpieczeń, aby uzyskać informacje o wywołujących danego obiektu.
  • Jeśli projektujesz składnik, który będzie używany w aplikacji rozproszonej bez korzystania z zabezpieczeń opartych na rolach, zabezpieczenia są automatycznie sprawdzane tylko na poziomie procesu. Uprawnienia dostępu do procesu określają, kto ma dostęp do aplikacji. Jeśli potrzebujesz bardziej szczegółowej kontroli nad ustawieniami zabezpieczeń na poziomie procesu lub na poziomie interfejsu, użyj programowych funkcji zabezpieczeń udostępnianych przez com.
  • Jeśli składnik używający programowego bezpieczeństwa COM+ jest uruchamiany bez integracji z aplikacją COM+, zostaną wygenerowane wyjątki. W związku z tym, jeśli chcesz, aby taki składnik został pomyślnie zintegrowany z aplikacją, która nie jest częścią środowiska COM+, należy odpowiednio obsłużyć wszystkie wyjątki.

projektowanie pod kątem dostępności

projektowanie pod kątem wdrażania

projektowanie pod kątem skalowalności

Programatyczne zabezpieczenia komponentów