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 yönteminin Encrypt sonucunu bir tanımlama bilgisinde FormsCookieName depolar ve kullanıcıyı yönteminden GetRedirectUrl döndürülen URL'ye 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 tanımlama Encrypt bilgisinde veya url'de bir öğesinden depolanabilen bir dize değeri oluşturmak için bir FormsAuthenticationTicketyöntem sağlar. FormsAuthentication sınıfı ayrıca forms-authentication tanımlama bilgisinden veya URL'den alınan şifrelenmiş kimlik doğrulama anahtarından bir nesne oluşturmak için bir FormsAuthenticationTicket yöntem sağlarDecrypt.

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

Oluşturucular

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

Tanımlama bilgisi adı, sürümü, son kullanma tarihi, sorun tarihi, kalıcılık ve kullanıcıya özgü verilerle sınıfını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(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ın yeni bir örneğini FormsAuthenticationTicket başlatı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

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 dolduğunu belirten bir değer alır.

IsPersistent

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

IssueDate

Form kimlik doğrulama biletinin ilk olarak verildiği yerel tarihi ve saati alır.

Name

Forms-authentication biletiyle ilişkili 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

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

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

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

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.