Udostępnij za pośrednictwem


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 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 Formswartość . 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)

Dotyczy

Zobacz też