FormsAuthentication Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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) |