FormsAuthentication Klass

Definition

Hanterar formulärautentiseringstjänster för webbprogram. Det går inte att ärva den här klassen.

public ref class FormsAuthentication sealed
public sealed class FormsAuthentication
type FormsAuthentication = class
Public NotInheritable Class FormsAuthentication
Arv
FormsAuthentication

Exempel

Följande kodexempel visar Web.config-filen för ett ASP.NET program som använder ASP.NET-medlemskapsprovidern för formulärautentisering och kräver att alla användare autentiseras.

<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>

I följande kodexempel visas inloggningssidan för ett ASP.NET program som använder formulärautentisering och ASP.NET medlemskap.

Important

Det här exemplet innehåller en textruta som accepterar användarindata, vilket är ett potentiellt säkerhetshot. Som standard kontrollerar ASP.NET webbsidor att användarindata inte innehåller skript- eller HTML-element. Mer information finns i Översikt över skriptexploateringar.

<%@ 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>

Kommentarer

Formulärautentisering möjliggör användar- och lösenordsverifiering för webbprogram som inte kräver Windows authentication. Med formulärautentisering lagras användarinformation i en extern datakälla, till exempel en Membership databas eller i konfigurationsfilen för ett program. När en användare har autentiserats underhåller formulärautentiseringen en autentiseringsbegäran i en cookie eller i URL:en så att en autentiserad användare inte behöver ange autentiseringsuppgifter för varje begäran.

Formulärautentisering aktiveras genom att attributet för autentiseringskonfigurationselementet anges mode till Forms. Du kan kräva att alla begäranden till ett program innehåller ett giltigt användarautentiseringsärende genom att använda auktoriseringskonfigurationselementet för att neka begäran från en okänd användare, enligt följande exempel.

<system.web>
  <authentication mode="Forms">
    <forms loginUrl="login.aspx" />
  </authentication>
  <authorization>
    <deny users="?" />
  </authorization>
</system.web>

I föregående exempel kräver en begäran om en ASP.NET sida som ingår i programmet ett giltigt användarnamn som tillhandahålls av formulärautentisering. Om det inte finns något användarnamn omdirigeras begäran till den konfigurerade LoginUrl.

Klassen FormsAuthentication ger åtkomst till metoder och egenskaper som du kan använda i ett program som autentiserar användare. Metoden RedirectToLoginPage omdirigerar en webbläsare till den konfigurerade LoginUrl för användare att logga in på ett program. Metoden RedirectFromLoginPage omdirigerar en autentiserad användare tillbaka till den ursprungliga skyddade URL:en som begärdes eller till DefaultUrl. Det finns också metoder som gör att du kan hantera formulärautentiseringsärenden om det behövs.

Konstruktorer

Name Description
FormsAuthentication()

Initierar en ny instans av FormsAuthentication klassen.

Egenskaper

Name Description
CookieDomain

Hämtar värdet för domänen för cookien för formulärautentisering.

CookieMode

Hämtar ett värde som anger om programmet har konfigurerats för autentisering med cookielösa formulär.

CookieSameSite

Hämtar eller anger värdet för attributet SameSite för cookien.

CookiesSupported

Hämtar ett värde som anger om programmet är konfigurerat för autentisering med cookielösa formulär.

DefaultUrl

Hämtar den URL som FormsAuthentication klassen omdirigeras till om ingen omdirigerings-URL har angetts.

EnableCrossAppRedirects

Hämtar ett värde som anger om autentiserade användare kan omdirigeras till URL:er i andra webbprogram.

FormsCookieName

Hämtar namnet på den cookie som används för att lagra formulärautentiseringsbiljetten.

FormsCookiePath

Hämtar sökvägen för cookien för formulärautentisering.

IsEnabled

Hämtar ett värde som anger om formulärautentisering är aktiverat.

LoginUrl

Hämtar URL:en för inloggningssidan FormsAuthentication som klassen omdirigeras till.

RequireSSL

Hämtar ett värde som anger om cookien för formulärautentisering kräver SSL för att kunna returneras till servern.

SlidingExpiration

Hämtar ett värde som anger om glidande förfallotid är aktiverat.

TicketCompatibilityMode

Hämtar ett värde som anger om du vill använda Coordinated Universal Time (UTC) eller lokal tid för biljettens förfallodatum.

Timeout

Hämtar tiden innan ett autentiseringsärende upphör att gälla.

Metoder

Name Description
Authenticate(String, String)
Föråldrad.

Validerar ett användarnamn och lösenord mot autentiseringsuppgifter som lagras i konfigurationsfilen för ett program.

Decrypt(String)

Skapar ett FormsAuthenticationTicket objekt baserat på den krypterade formulärautentiseringsbiljetten som skickas till metoden.

EnableFormsAuthentication(NameValueCollection)

Aktiverar formulärautentisering.

Encrypt(FormsAuthenticationTicket)

Skapar en sträng som innehåller en krypterad formulärautentiseringsbiljett som är lämplig för användning i en HTTP-cookie.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetAuthCookie(String, Boolean, String)

Skapar en autentiseringscookie för ett angivet användarnamn. Detta anger inte cookien som en del av det utgående svaret.

GetAuthCookie(String, Boolean)

Skapar en autentiseringscookie för ett angivet användarnamn. Detta anger inte cookien som en del av det utgående svaret, så att ett program kan ha mer kontroll över hur cookien utfärdas.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetRedirectUrl(String, Boolean)

Returnerar omdirigerings-URL:en för den ursprungliga begäran som orsakade omdirigeringen till inloggningssidan.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
HashPasswordForStoringInConfigFile(String, String)
Föråldrad.

Genererar ett hash-lösenord som är lämpligt för lagring i en konfigurationsfil baserat på det angivna lösenordet och hash-algoritmen.

Initialize()

Initierar FormsAuthentication objektet baserat på programmets konfigurationsinställningar.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
RedirectFromLoginPage(String, Boolean, String)

Omdirigerar en autentiserad användare tillbaka till den ursprungligen begärda URL:en eller standard-URL:en med den angivna cookiesökvägen för cookien för formulärautentisering.

RedirectFromLoginPage(String, Boolean)

Omdirigerar en autentiserad användare tillbaka till den ursprungligen begärda URL:en eller standard-URL:en.

RedirectToLoginPage()

Omdirigerar webbläsaren till inloggnings-URL:en.

RedirectToLoginPage(String)

Omdirigerar webbläsaren till inloggnings-URL:en med den angivna frågesträngen.

RenewTicketIfOld(FormsAuthenticationTicket)

Villkorligt uppdaterar problemet datum och tid och förfallodatum och tid för en FormsAuthenticationTicket.

SetAuthCookie(String, Boolean, String)

Skapar en autentiseringsbiljett för det angivna användarnamnet och lägger till den i cookies-samlingen av svaret, med hjälp av den angivna cookiesökvägen eller med hjälp av URL:en om du använder cookiefri autentisering.

SetAuthCookie(String, Boolean)

Skapar en autentiseringsbiljett för det angivna användarnamnet och lägger till den i cookies-samlingen av svaret, eller till URL:en om du använder cookielös autentisering.

SignOut()

Tar bort formulärautentiseringsbiljetten från webbläsaren.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även