FormsAuthentication Klasa

Definicja

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 sprawdzają, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Script Exploits Overview (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. Można wymagać, aby wszystkie żądania do aplikacji zawierały prawidłowy bilet uwierzytelniania użytkownika przy użyciu elementu konfiguracji autoryzacji w celu odmowy żądania 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 skonfigurowanego 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órego zażądano, 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 żadnego adresu URL przekierowania.

EnableCrossAppRedirects

Pobiera wartość wskazującą, czy uwierzytelnieni użytkownicy mogą być przekierowywani do adresów URL w innych aplikacjach sieci Web.

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 jest włączone uwierzytelnianie formularzy.

LoginUrl

Pobiera adres URL strony logowania, do którego FormsAuthentication zostanie przekierowana klasa.

RequireSSL

Pobiera wartość wskazującą, czy plik cookie uwierzytelniania formularzy wymaga protokołu SSL w celu zwrócenia go do serwera.

SlidingExpiration

Pobiera wartość wskazującą, czy funkcja wygasania przewijania jest włączona.

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.

Sprawdza poprawność nazwy użytkownika i hasła 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)

Umożliwia 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 do strony logowania.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(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 z określonym ciągiem 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)

Dotyczy

Zobacz też