Aracılığıyla paylaş


FormsAuthenticationTicket Sınıf

Tanım

Kullanıcıları tanımlamak için form kimlik doğrulaması ile kullanılan biletin özelliklerine ve değerlerine erişim sağlar. Bu sınıf devralınamaz.

public ref class FormsAuthenticationTicket sealed
[System.Serializable]
public sealed class FormsAuthenticationTicket
[<System.Serializable>]
type FormsAuthenticationTicket = class
Public NotInheritable Class FormsAuthenticationTicket
Devralma
FormsAuthenticationTicket
Öznitelikler

Örnekler

Aşağıdaki kod örneği kullanarak FormsCookieName yönteminin Encrypt sonucunu bir tanımlama bilgisinde depolar ve kullanıcıyı yöntemden döndürülen URL'ye GetRedirectUrl yönlendirir.

Önemli

Bu örnek, olası bir güvenlik tehdidi olan kullanıcı girişini kabul eden bir metin kutusu içerir. Varsayılan olarak, ASP.NET Web sayfaları kullanıcı girişinin betik veya HTML öğeleri içermediğini doğrular. Daha fazla bilgi için bkz. Betik Açıklarına Genel Bakış.

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

Açıklamalar

FormsAuthenticationTicket sınıfı, kimliği doğrulanmış bir kullanıcıyı tanımlamak için form kimlik doğrulaması tarafından kullanılan kimlik doğrulama anahtarını temsil eden bir nesne oluşturmak için kullanılır. Form kimlik doğrulama anahtarının özellikleri ve değerleri, tanımlama bilgisinde veya URL'de depolanan şifrelenmiş bir dizeye dönüştürülür.

sınıfı, FormsAuthentication bir Encrypt tanımlama bilgisinde veya bir url'den depolanabilen bir dize değeri oluşturmak için bir FormsAuthenticationTicketyöntem sağlar. FormsAuthentication sınıfı, forms-authentication tanımlama bilgisinden veya URL'den alınan şifrelenmiş kimlik doğrulama anahtarından nesne oluşturmak için bir FormsAuthenticationTicket yöntem de sağlarDecrypt.

FormsAuthenticationTicket Geçerli kimliği doğrulanmış kullanıcının öğesine sınıfın TicketFormsIdentity özelliği kullanılarak erişilebilir. geçerli FormsIdentity nesnesinin özelliğini tür FormsIdentityolarak dönüştürerek Identity geçerli User nesneye erişebilirsiniz.

Oluşturucular

Name Description
FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String, String)

Tanımlama bilgisi adı, sürüm, dizin yolu, sorun tarihi, son kullanma tarihi, kalıcılık ve kullanıcı tanımlı verilerle sınıfın yeni bir örneğini FormsAuthenticationTicket başlatır.

FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String)

Tanımlama bilgisi adı, sürümü, son kullanma tarihi, çıkış tarihi, kalıcılık ve kullanıcıya özgü verilerle sınıfın yeni bir örneğini FormsAuthenticationTicket başlatır. Tanımlama bilgisi yolu, uygulamanın yapılandırma dosyasında oluşturulan varsayılan değere ayarlanır.

FormsAuthenticationTicket(String, Boolean, Int32)

Tanımlama bilgisi adı ve süre sonu bilgilerini kullanarak sınıfın FormsAuthenticationTicket yeni bir örneğini başlatır.

Özellikler

Name Description
CookiePath

Forms-authentication bileti için tanımlama bilgisi yolunu alır.

Expiration

Forms-authentication biletinin süresinin dolmasına neden olan yerel tarihi ve saati alır.

Expired

Forms-authentication biletinin süresinin dolup dolmadığını belirten bir değer alır.

IsPersistent

Forms-authentication anahtar bilgilerini içeren tanımlama bilgisinin kalıcı olup olmadığını belirten bir değer alır.

IssueDate

Forms-authentication biletinin ilk olarak verildiği yerel tarih ve saati alır.

Name

Forms-authentication biletiyle ilişkilendirilmiş kullanıcı adını alır.

UserData

Anahtarla birlikte depolanan kullanıcıya özgü bir dize alır.

Version

Biletin sürüm numarasını alır.

Yöntemler

Name Description
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.