FormsAuthentication.SignOut Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Odebere lístek ověřování pomocí formulářů z prohlížeče.
public:
static void SignOut();
public static void SignOut();
static member SignOut : unit -> unit
Public Shared Sub SignOut ()
Příklady
Následující příklad kódu vymaže soubor cookie ověřování pomocí formulářů pomocí SignOut metody a přesměruje uživatele na přihlašovací stránku pomocí RedirectToLoginPage metody.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public void LoginLink_OnClick(object sender, EventArgs args)
{
FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
Welcome <b><%=User.Identity.Name%></b>. Not <b><%=User.Identity.Name%></b>?
Click <asp:LinkButton id="LoginLink" Text="here"
OnClick="LoginLink_OnClick" runat="server" />
to sign in.
<!-- Page Contents -->
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Sub LoginLink_OnClick(sender As Object, args As EventArgs)
FormsAuthentication.SignOut()
FormsAuthentication.RedirectToLoginPage()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
Welcome <b><%=User.Identity.Name%></b>. Not <b><%=User.Identity.Name%></b>?
Click <asp:LinkButton id="LoginLink" Text="here"
OnClick="LoginLink_OnClick" runat="server" />
to sign in.
<!-- Page Contents -->
</form>
</body>
</html>
Poznámky
Metoda SignOut odebere informace o lístku ověřování pomocí formulářů ze souboru cookie nebo adresy URL, pokud CookiesSupported je false. Metodu SignOut můžete použít ve spojení s metodou RedirectToLoginPage k odhlášení jednoho uživatele a povolit jinému uživateli přihlášení.
Pokud běžíte výhradně v režimu bez souborů cookie nebo pokud podporujete ověřené i anonymní uživatele, měli byste explicitně řídit přesměrování na přihlašovací stránku, pokud potřebujete, aby se v důsledku odebrání anonymního identifikátoru spustila zvláštní obchodní logika.
SignOut Při volání metody se provede přesměrování na přihlašovací stránku aplikace voláním Redirect metody s parametrem nastaveným endResponse na false. Přesměrování se neprovádí, dokud se nedokončí spuštění aktuální stránky, takže je možné spustit další kód. Pokud kód neobsahuje explicitní přesměrování na jinou stránku, uživatel se přesměruje na přihlašovací stránku nakonfigurovanou v konfiguračním souboru aplikace.
SignOut Volání metody odebere pouze ověřovací soubor cookie formulářů. Webový server neukládá platné a prošlé lístky ověřování pro pozdější porovnání. Díky tomu je váš web zranitelný vůči útoku na přehrání, pokud uživatel se zlými úmysly získá platný soubor cookie ověřování pomocí formulářů. Pokud chcete zlepšit zabezpečení při použití souboru cookie ověřování pomocí formulářů, měli byste udělat toto:
Pro soubory cookie ověřování formulářů použijte absolutní vypršení platnosti nastavením SlidingExpiration vlastnosti na
falsehodnotu . Tím se omezí okno, ve kterém se dá přehrání napadeného souboru cookie přehrát.Pouze vystavujte a přijměte ověřovací soubory cookie přes protokol SSL (Secure Sockets Layer), a to nastavením RequireSSL vlastnosti na
truea spuštěním celého webu v rámci protokolu SSL. RequireSSL Nastavením vlastnosti tak, abytruese zajistilo, že ASP.NET nikdy neodešle ověřovací soubor cookie do prohlížeče přes připojení bez SSL. Klient však nemusí respektovat zabezpečené nastavení souboru cookie. To znamená, že klient může odeslat ověřovací soubor cookie formulářů přes připojení bez SSL, takže je zranitelný vůči napadení. Klientovi můžete zabránit v odesílání ověřovacího souboru cookie formulářů v nezaškrtnutí spuštěním celého webu v ssl.Pomocí trvalého úložiště na serveru můžete zaznamenávat, když se uživatel odhlásí z webu, a pak pomocí události aplikace, jako PostAuthenticateRequest je událost, určit, jestli byl aktuální uživatel ověřen pomocí ověřování pomocí formulářů. Pokud byl uživatel ověřen pomocí ověřování pomocí formulářů a pokud informace v trvalém úložišti indikují, že se uživatel odhlásí, okamžitě vymažte ověřovací soubor cookie a přesměrujte prohlížeč zpět na přihlašovací stránku. Po úspěšném přihlášení aktualizujte úložiště tak, aby odráželo, že je uživatel přihlášený. Při použití této metody musí vaše aplikace sledovat přihlášený stav uživatele a musí vynutit, aby se nečinní uživatelé odhlásili.