FormsAuthentication Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zarządza usługami uwierzytelniania formularzy dla aplikacji internetowych. Klasa ta nie może być dziedziczona.
public ref class FormsAuthentication sealed
public sealed class FormsAuthentication
type FormsAuthentication = class
Public NotInheritable Class FormsAuthentication
- Dziedziczenie
-
FormsAuthentication
Przykłady
Poniższy przykład kodu przedstawia plik Web.config dla aplikacji ASP.NET, która używa dostawcy członkostwa ASP.NET do uwierzytelniania formularzy i wymaga uwierzytelnienia wszystkich użytkowników.
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="/" />
</providers>
</membership>
</system.web>
</configuration>
Poniższy przykład kodu przedstawia stronę logowania dla aplikacji ASP.NET korzystającej z uwierzytelniania formularzy i członkostwa w ASP.NET.
Ważne
Ten przykład zawiera pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web weryfikują, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Omówienie luk w zabezpieczeniach skryptów.
<%@ 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 Login_OnClick(object sender, EventArgs args)
{
if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
else
Msg.Text = "Login failed. Please check your user name and password and try again.";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Login</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
<asp:CheckBox id="NotPublicCheckBox" runat="server" />
Check here if this is <span style="text-decoration:underline">not</span> a public computer.
</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 Login_OnClick(sender As Object, args As EventArgs)
If (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) Then
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked)
Else
Msg.Text = "Login failed. Please check your user name and password and try again."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Login</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
<asp:CheckBox id="NotPublicCheckBox" runat="server" />
Check here if this is <span style="text-decoration:underline">not</span> a public computer.
</form>
</body>
</html>
Uwagi
Uwierzytelnianie formularzy umożliwia sprawdzanie poprawności haseł i użytkowników dla aplikacji internetowych, które nie wymagają uwierzytelniania systemu Windows. W przypadku uwierzytelniania formularzy informacje o użytkowniku są przechowywane w zewnętrznym źródle danych, takim jak Membership baza danych lub w pliku konfiguracji aplikacji. Po uwierzytelnieniu użytkownika uwierzytelnianie formularzy utrzymuje bilet uwierzytelniania w pliku cookie lub w adresie URL, dzięki czemu uwierzytelniony użytkownik nie musi podawać poświadczeń z każdym żądaniem.
Uwierzytelnianie formularzy jest włączone przez ustawienie mode
atrybutu elementu konfiguracji uwierzytelniania na Forms
wartość . Możesz wymagać, aby wszystkie żądania do aplikacji zawierały prawidłowy bilet uwierzytelniania użytkownika przy użyciu elementu konfiguracji autoryzacji , aby odmówić żądania dowolnego nieznanego użytkownika, jak pokazano w poniższym przykładzie.
<system.web>
<authentication mode="Forms">
<forms loginUrl="login.aspx" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
W poprzednim przykładzie każde żądanie strony ASP.NET, która jest częścią aplikacji, wymaga prawidłowej nazwy użytkownika dostarczonej przez uwierzytelnianie formularzy. Jeśli nazwa użytkownika nie istnieje, żądanie zostanie przekierowane do skonfigurowanego LoginUrlelementu .
Klasa FormsAuthentication zapewnia dostęp do metod i właściwości, których można użyć w aplikacji, która uwierzytelnia użytkowników. Metoda RedirectToLoginPage przekierowuje przeglądarkę do skonfigurowanej LoginUrl dla użytkowników w celu zalogowania się do aplikacji. Metoda RedirectFromLoginPage przekierowuje uwierzytelnionego użytkownika z powrotem do oryginalnego chronionego adresu URL, który został żądany lub do DefaultUrl. Istnieją również metody, które umożliwiają zarządzanie biletami uwierzytelniania formularzy w razie potrzeby.
Konstruktory
FormsAuthentication() |
Inicjuje nowe wystąpienie klasy FormsAuthentication. |
Właściwości
CookieDomain |
Pobiera wartość domeny pliku cookie uwierzytelniania formularzy. |
CookieMode |
Pobiera wartość wskazującą, czy aplikacja jest skonfigurowana do uwierzytelniania formularzy bez plików cookie. |
CookieSameSite |
Pobiera lub ustawia wartość atrybutu SameSite pliku cookie. |
CookiesSupported |
Pobiera wartość wskazującą, czy aplikacja jest skonfigurowana do obsługi uwierzytelniania formularzy bez plików cookie. |
DefaultUrl |
Pobiera adres URL, do którego FormsAuthentication klasa przekierowuje, jeśli nie określono adresu URL przekierowania. |
EnableCrossAppRedirects |
Pobiera wartość wskazującą, czy uwierzytelnieni użytkownicy mogą być przekierowywani do adresów URL w innych aplikacjach internetowych. |
FormsCookieName |
Pobiera nazwę pliku cookie używanego do przechowywania biletu uwierzytelniania formularzy. |
FormsCookiePath |
Pobiera ścieżkę pliku cookie uwierzytelniania formularzy. |
IsEnabled |
Pobiera wartość wskazującą, czy uwierzytelnianie formularzy jest włączone. |
LoginUrl |
Pobiera adres URL strony logowania, FormsAuthentication do którego zostanie przekierowana klasa. |
RequireSSL |
Pobiera wartość wskazującą, czy plik cookie uwierzytelniania formularzy wymaga protokołu SSL, aby został zwrócony na serwer. |
SlidingExpiration |
Pobiera wartość wskazującą, czy przesuwane wygaśnięcie jest włączone. |
TicketCompatibilityMode |
Pobiera wartość wskazującą, czy używać uniwersalnego czasu koordynowanego (UTC) lub czasu lokalnego dla daty wygaśnięcia biletu. |
Timeout |
Pobiera czas przed wygaśnięciem biletu uwierzytelniania. |
Metody
Authenticate(String, String) |
Przestarzałe.
Weryfikuje nazwę użytkownika i hasło względem poświadczeń przechowywanych w pliku konfiguracji aplikacji. |
Decrypt(String) |
FormsAuthenticationTicket Tworzy obiekt na podstawie zaszyfrowanego biletu uwierzytelniania formularzy przekazanego do metody . |
EnableFormsAuthentication(NameValueCollection) |
Włącza uwierzytelnianie formularzy. |
Encrypt(FormsAuthenticationTicket) |
Tworzy ciąg zawierający zaszyfrowany bilet uwierzytelniania formularzy odpowiedni do użycia w pliku cookie HTTP. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetAuthCookie(String, Boolean) |
Tworzy plik cookie uwierzytelniania dla danej nazwy użytkownika. Nie powoduje to ustawienia pliku cookie w ramach odpowiedzi wychodzącej, dzięki czemu aplikacja może mieć większą kontrolę nad sposobem wydawania pliku cookie. |
GetAuthCookie(String, Boolean, String) |
Tworzy plik cookie uwierzytelniania dla danej nazwy użytkownika. Nie powoduje to ustawienia pliku cookie w ramach odpowiedzi wychodzącej. |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetRedirectUrl(String, Boolean) |
Zwraca adres URL przekierowania dla oryginalnego żądania, które spowodowało przekierowanie na stronę logowania. |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
HashPasswordForStoringInConfigFile(String, String) |
Przestarzałe.
Tworzy hasło skrótu odpowiednie do przechowywania w pliku konfiguracji na podstawie określonego hasła i algorytmu skrótu. |
Initialize() |
Inicjuje FormsAuthentication obiekt na podstawie ustawień konfiguracji aplikacji. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
RedirectFromLoginPage(String, Boolean) |
Przekierowuje uwierzytelnionego użytkownika z powrotem do pierwotnie żądanego adresu URL lub domyślnego adresu URL. |
RedirectFromLoginPage(String, Boolean, String) |
Przekierowuje uwierzytelnionego użytkownika z powrotem do pierwotnie żądanego adresu URL lub domyślnego adresu URL przy użyciu określonej ścieżki pliku cookie dla pliku cookie uwierzytelniania formularzy. |
RedirectToLoginPage() |
Przekierowuje przeglądarkę do adresu URL logowania. |
RedirectToLoginPage(String) |
Przekierowuje przeglądarkę do adresu URL logowania przy użyciu określonego ciągu zapytania. |
RenewTicketIfOld(FormsAuthenticationTicket) |
Warunkowo aktualizuje datę i godzinę problemu oraz datę i godzinę wygaśnięcia dla wartości FormsAuthenticationTicket. |
SetAuthCookie(String, Boolean) |
Tworzy bilet uwierzytelniania dla podanej nazwy użytkownika i dodaje go do kolekcji plików cookie odpowiedzi lub adresu URL, jeśli używasz uwierzytelniania bez plików cookie. |
SetAuthCookie(String, Boolean, String) |
Tworzy bilet uwierzytelniania dla podanej nazwy użytkownika i dodaje go do kolekcji plików cookie odpowiedzi, przy użyciu podanej ścieżki pliku cookie lub adresu URL, jeśli używasz uwierzytelniania bez plików cookie. |
SignOut() |
Usuwa bilet uwierzytelniania formularzy z przeglądarki. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |