FormsAuthenticationTicket Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt toegang tot eigenschappen en waarden van het ticket dat wordt gebruikt met formulierverificatie om gebruikers te identificeren. Deze klasse kan niet worden overgenomen.
public ref class FormsAuthenticationTicket sealed
[System.Serializable]
public sealed class FormsAuthenticationTicket
[<System.Serializable>]
type FormsAuthenticationTicket = class
Public NotInheritable Class FormsAuthenticationTicket
- Overname
-
FormsAuthenticationTicket
- Kenmerken
Voorbeelden
In het volgende codevoorbeeld wordt het resultaat van de Encrypt methode opgeslagen in een cookie met behulp van de FormsCookieName methode en wordt de gebruiker omgeleid naar de URL die is geretourneerd door de GetRedirectUrl methode.
Important
Dit voorbeeld bevat een tekstvak dat gebruikersinvoer accepteert. Dit is een mogelijke beveiligingsrisico. Standaard valideren ASP.NET webpagina's dat gebruikersinvoer geen script- of HTML-elementen bevat. Zie Overzicht van Script Exploits voor meer informatie.
<%@ 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">
private void Login_Click(Object sender, EventArgs e)
{
// Create a custom FormsAuthenticationTicket containing
// application specific data for the user.
string username = UserNameTextBox.Text;
string password = UserPassTextBox.Text;
bool isPersistent = false;
if (Membership.ValidateUser(username, password))
{
string userData = "ApplicationSpecific data for this user.";
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
username,
DateTime.Now,
DateTime.Now.AddMinutes(30),
isPersistent,
userData,
FormsAuthentication.FormsCookiePath);
// Encrypt the ticket.
string encTicket = FormsAuthentication.Encrypt(ticket);
// Create the cookie.
Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
// Redirect back to original URL.
Response.Redirect(FormsAuthentication.GetRedirectUrl(username, isPersistent));
}
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>Forms Authentication Login</title>
</head>
<body>
<form id="form1" runat="server">
<span style="BACKGROUND: #80ff80; font-weight:bold">
Login Page
</span>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
<table border="0">
<tbody>
<tr>
<td>Username:</td>
<td><asp:TextBox id="UserNameTextBox" runat="server" /></td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator1"
runat="server" ErrorMessage="*"
Display="Static"
ControlToValidate="UserNameTextBox" />
</td>
</tr>
<tr>
<td>Password:</td>
<td><asp:TextBox id="UserPassTextBox" TextMode="Password" runat="server" /></td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator2"
runat="server" ErrorMessage="*"
Display="Static"
ControlToValidate="UserPassTextBox" />
</td>
</tr>
</tbody>
</table>
<input type="submit" value="Login" runat="server" onserverclick="Login_Click" />
</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">
Private Sub Login_Click(sender As Object, e As EventArgs)
' Create a custom FormsAuthenticationTicket containing
' application specific data for the user.
Dim username As String = UserNameTextBox.Text
Dim password As String = UserPassTextBox.Text
Dim isPersistent As Boolean = False
If Membership.ValidateUser(username, password) Then
Dim userData As String = "ApplicationSpecific data for this user."
Dim ticket As FormsAuthenticationTicket = New FormsAuthenticationTicket(1, _
username, _
DateTime.Now, _
DateTime.Now.AddMinutes(30), _
isPersistent, _
userData, _
FormsAuthentication.FormsCookiePath)
' Encrypt the ticket.
Dim encTicket As String = FormsAuthentication.Encrypt(ticket)
' Create the cookie.
Response.Cookies.Add(New HttpCookie(FormsAuthentication.FormsCookieName, encTicket))
' Redirect back to original URL.
Response.Redirect(FormsAuthentication.GetRedirectUrl(username, isPersistent))
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>Forms Authentication Login</title>
</head>
<body>
<form id="form1" runat="server">
<span style="BACKGROUND:#80ff80; font-weight:bold">
Login Page
</span>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
<table border="0">
<tbody>
<tr>
<td>Username:</td>
<td><asp:TextBox id="UserNameTextBox" runat="server" /></td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator1"
runat="server" ErrorMessage="*"
Display="Static"
ControlToValidate="UserNameTextBox" />
</td>
</tr>
<tr>
<td>Password:</td>
<td><asp:TextBox id="UserPassTextBox" TextMode="Password" runat="server" /></td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator2"
runat="server" ErrorMessage="*"
Display="Static"
ControlToValidate="UserPassTextBox" />
</td>
</tr>
</tbody>
</table>
<input type="submit" value="Login" runat="server" onserverclick="Login_Click" />
</form>
</body>
</html>
Opmerkingen
De FormsAuthenticationTicket klasse wordt gebruikt om een object te maken dat het verificatieticket vertegenwoordigt dat wordt gebruikt door formulierverificatie om een geverifieerde gebruiker te identificeren. De eigenschappen en waarden van een formulierverificatieticket worden geconverteerd naar en van een versleutelde tekenreeks die is opgeslagen in een cookie of in de URL.
De FormsAuthentication klasse biedt een Encrypt methode voor het maken van een tekenreekswaarde die kan worden opgeslagen in een cookie of in de URL van een FormsAuthenticationTicket. De FormsAuthentication klasse biedt ook een Decrypt methode om een FormsAuthenticationTicket object te maken op basis van het versleutelde verificatieticket dat is opgehaald uit de cookie voor formulierverificatie of de URL.
De FormsAuthenticationTicket voor de huidige geverifieerde gebruiker kan worden geopend met behulp van de Ticket eigenschap van de FormsIdentity klasse. U kunt toegang krijgen tot het huidige FormsIdentity object door de Identity eigenschap van het huidige User als type FormsIdentityte casten.
Constructors
| Name | Description |
|---|---|
| FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String, String) |
Initialiseert een nieuw exemplaar van de FormsAuthenticationTicket klasse met cookienaam, versie, mappad, uitgiftedatum, vervaldatum, persistentie en door de gebruiker gedefinieerde gegevens. |
| FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String) |
Initialiseert een nieuw exemplaar van de FormsAuthenticationTicket klasse met cookienaam, versie, vervaldatum, uitgiftedatum, persistentie en gebruikersspecifieke gegevens. Het cookiepad wordt ingesteld op de standaardwaarde die is ingesteld in het configuratiebestand van de toepassing. |
| FormsAuthenticationTicket(String, Boolean, Int32) |
Initialiseert een nieuw exemplaar van de FormsAuthenticationTicket klasse met behulp van een cookienaam en verloopgegevens. |
Eigenschappen
| Name | Description |
|---|---|
| CookiePath |
Hiermee haalt u het cookiepad voor het formulierverificatieticket op. |
| Expiration |
Hiermee haalt u de lokale datum en tijd op waarop het ticket voor formulierverificatie verloopt. |
| Expired |
Hiermee wordt een waarde opgehaald die aangeeft of het ticket voor formulierverificatie is verlopen. |
| IsPersistent |
Hiermee wordt een waarde opgehaald die aangeeft of de cookie die de ticketgegevens voor formulieren bevat, permanent is. |
| IssueDate |
Hiermee haalt u de lokale datum en tijd op waarop het formulierverificatieticket oorspronkelijk is uitgegeven. |
| Name |
Hiermee haalt u de gebruikersnaam op die is gekoppeld aan het ticket voor formulierverificatie. |
| UserData |
Hiermee haalt u een gebruikersspecifieke tekenreeks op die is opgeslagen met het ticket. |
| Version |
Hiermee haalt u het versienummer van het ticket op. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |