Strona funkcji Stan sesji umożliwia skonfigurowanie zachowania informacji zachowywanych między sesjami przeglądarki.

Lista elementów interfejsu użytkownika

W poniższych tabelach omówiono elementy interfejsu użytkownika dostępne na stronie funkcji i w okienku Akcje.

Elementy strony funkcji

Nazwa elementuOpis

Nie włączono

Wyłącza stan sesji.

W procesie

Powoduje przechowywanie danych stanu sesji dla aplikacji z kodem zarządzanym w procesie roboczym, w którym działa aplikacja. Jest to ustawienie domyślne.

Niestandardowe

Konfiguruje w usługach IIS korzystanie z dostawcy niestandardowego w celu obsługi stanu sesji aplikacji ASP.NET.

Serwer stanu

Włącza usługę stanu Aspnet_state.exe systemu Windows i powoduje przechowywanie stanu sesji poza procesem roboczym, w którym działa aplikacja. Zaletą tej konfiguracji jest zachowanie stanu sesji w momencie odtworzenia procesu roboczego aplikacji. Korzystanie z serwera stanu jest zalecane w przypadku aplikacji sieci Web średnich rozmiarów. Ustawienia do skonfigurowania są następujące:

  • Ciąg połączenia – ustawia ciąg połączenia służący do łączenia się z serwerem stanu.

  • Limit czasu (w sekundach) – ustawia czas utrzymywania połączenia w sekundach. Wartość domyślna to 10 sekund.

Ważne

Aby umożliwić obsługę stanu sesji poza procesami, musi być uruchomiona usługa stanu systemu Windows (Aspnet_state.exe). Domyślnie usługa ta jest instalowana podczas instalacji programu ASP.NET oraz konfigurowana do uruchamiania ręcznego. Uruchamianie należy zmienić na automatyczne.

Serwer SQL

Konfiguruje usługi IIS tak, aby dane stanu sesji były przechowywane w bazie danych serwera SQL, a nie w procesie roboczym, w którym działa aplikacja. Zaletą tej konfiguracji jest zachowanie stanu sesji w momencie odtworzenia procesu roboczego aplikacji lub w przypadku przerwy w pracy usługi stanu systemu Windows albo serwera sieci Web. Ustawienia do skonfigurowania są następujące:

  • Ciąg połączenia – ustawia ciąg połączenia służący do łączenia się z serwerem stanu.

  • Limit czasu (w sekundach) – ustawia czas utrzymywania połączenia w sekundach. Wartość domyślna to 10 sekund.

Ważne

Przed skonfigurowaniem serwera SQL do obsługi stanu sesji należy uruchomić na serwerze skrypt skryptInstallSqlState.sql. Domyślnie skrypt jest przechowywany w katalogu główny_katalog_systemowy\Microsoft.NET\Framework\V2.0.50727.

Włącz niestandardową bazę danych

Włącza niestandardową bazę danych serwera SQL do przechowywania danych stanu sesji.

Tryb

Określa sposób używania plików cookie do przechowywania danych stanu sesji. Możliwe opcje:

  • Autowykrywanie – pliki cookie są używane, jeśli obsługuje je przeglądarka; w przeciwnym razie pliki cookie nie są używane. Jeśli o danej przeglądarce wiadomo, że obsługuje pliki cookie, program ASP.NET próbuje używać plików cookie, jeśli ich obsługa jest włączona w przeglądarce. Gdy jest używany tryb plików cookie z wykrywaniem automatycznym, należy wymagać ponownego generowania wygasłych identyfikatorów sesji. Dzięki temu serwer sieci Web może powodować wygasanie tokenów i ponownie je generować, co daje ewentualnej osobie atakującej mniej czasu na przechwycenie pliku cookie i uzyskanie dostępu do zawartości serwera sieci Web. Warto również rozważyć zmianę limitu czasu na wartość mniejszą niż domyślne 20 minut.

  • Użyj plików cookie – informacje o sesji są kojarzone z informacjami o kliencie na czas trwania połączenia użytkownika z witryną sieci Web. Pliki cookie są przekazywane wraz ze wszystkimi żądaniami między klientem a serwerem sieci Web w nagłówku HTTP. Używanie plików cookie to efektywniejszy sposób śledzenia stanu sesji niż wszelkie metody niekorzystające z plików cookie, ponieważ pliki cookie nie wymagają przekierowania. Ponadto pliki cookie umożliwiają użytkownikom oznaczanie stron sieci Web zakładkami oraz zachowują stan, jeśli użytkownik opuści jedną witrynę w celu odwiedzenia innej, a następnie powróci do oryginalnej witryny.

Uwaga

Warto rozważyć zmianę limitu czasu na wartość mniejszą niż domyślne 20 minut, tak aby osoba atakująca miała mniej czasu na przechwycenie pliku cookie i uzyskanie dostępu do zawartości witryny sieci Web.

  • Użyj profilu urządzenia – pliki cookie są używane, jeśli obsługuje je profil urządzenia; w przeciwnym razie pliki cookie nie są używane. Jeśli profil urządzenia wskazuje obsługę plików cookie, będą one używane niezależnie od tego, czy użytkownik wyłączył ich obsługę. Gdy jest stosowany tryb plików cookie z używaniem profilu urządzenia, należy wymagać ponownego generowania wygasłych identyfikatorów sesji. Dzięki temu serwer sieci Web może powodować wygasanie tokenów i ponownie je generować, co daje ewentualnej osobie atakującej mniej czasu na przechwycenie pliku cookie i uzyskanie dostępu do zawartości serwera sieci Web. Warto również rozważyć zmianę limitu czasu na wartość mniejszą niż domyślne 20 minut.

  • Użyj identyfikatora URI – identyfikator sesji jest osadzany jako ciąg zapytania w żądaniu identyfikatora URI (Uniform Resource Identifier), a następnie identyfikator URI jest przekierowywany do pierwotnie żądanego adresu URL. Zmienione żądanie identyfikatora URI jest używane przez czas trwania sesji, więc plik cookie nie jest wymagany. Gdy jest używany identyfikator URI, należy wymagać ponownego generowania wygasłych identyfikatorów sesji. Dzięki temu serwer sieci Web może powodować wygasanie tokenów i ponownie je generować, co daje ewentualnej osobie atakującej mniej czasu na przechwycenie pliku cookie i uzyskanie dostępu do zawartości serwera sieci Web.

Nazwa

Ustawia nazwę pliku cookie. Wartość domyślna to ASP.NET_SessionID.

Limit czasu (w minutach)

Ustawia czas trwałości pliku cookie w minutach. Wartość domyślna to 20 minut.

Wygeneruj ponownie identyfikator sesji, który stracił ważność

Powoduje, że usługi IIS odrzucają i ponownie generują identyfikatory sesji, którym nie odpowiadają aktywne sesje w bazie danych. Domyślnie ta funkcja jest obsługiwana tylko dla identyfikatorów sesji bez plików cookie, ale można ją rozszerzyć w celu zarządzania identyfikatorami sesji dowolnego typu/z plikami cookie przez zaimplementowanie niestandardowego menedżera identyfikatorów sesji.

Użyj tożsamości hosta do personifikacji

Włącza uwierzytelnianie systemu Windows i tożsamość procesu hosta (tożsamość programu ASP.NET lub usługi systemu Windows) na potrzeby połączeń zdalnych.

Elementy okienka Akcje

Nazwa elementuOpis

Zastosuj

Zapisuje zmiany wprowadzone na stronie funkcji.

Anuluj

Anuluje zmiany wprowadzone na stronie funkcji.

Zobacz też


Spis treści