Поделиться через


FormsAuthenticationTicket Конструкторы

Определение

Инициализирует новый экземпляр класса FormsAuthenticationTicket.

Перегрузки

FormsAuthenticationTicket(String, Boolean, Int32)

Выполняет инициализацию нового экземпляра класса FormsAuthenticationTicket, используя имя файла Cookie и сведения о сроке действия.

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

Выполняет инициализацию нового экземпляра класса FormsAuthenticationTicket с именем файла Cookie, номером версии, сроком действия, датой выдачи, сохранением и данными, определяемыми пользователем. Путь файла Cookie задается значением по умолчанию, которое установлено в файле конфигурации приложения.

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

Выполняет инициализацию нового экземпляра класса FormsAuthenticationTicket с именем файла Cookie, номером версии, путем к каталогу, датой выдачи, сроком действия, сохранением и данными, определенными пользователем.

FormsAuthenticationTicket(String, Boolean, Int32)

Выполняет инициализацию нового экземпляра класса FormsAuthenticationTicket, используя имя файла Cookie и сведения о сроке действия.

public:
 FormsAuthenticationTicket(System::String ^ name, bool isPersistent, int timeout);
public FormsAuthenticationTicket (string name, bool isPersistent, int timeout);
new System.Web.Security.FormsAuthenticationTicket : string * bool * int -> System.Web.Security.FormsAuthenticationTicket
Public Sub New (name As String, isPersistent As Boolean, timeout As Integer)

Параметры

name
String

Имя пользователя, связанное с билетом.

isPersistent
Boolean

true, если билет будет храниться с постоянным файлом Cookie (сохраняемым между сеансами браузера); в противном случае — false. Если билет хранится в URL-адресе, это значение игнорируется.

timeout
Int32

Интервал времени в минутах, в течение которого билет проверки подлинности является действительным.

Комментарии

Объект FormsAuthenticationTicket , созданный этим конструктором CookiePath , будет иметь значение, равное значению FormsCookiePath свойства, Version значению 2, IssueDate значению текущей локальной даты и времени, UserData значению пустой строки (""), а Expiration также значению текущей локальной timeout даты и времени плюс значение параметра .

См. также раздел

Применяется к

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

Выполняет инициализацию нового экземпляра класса FormsAuthenticationTicket с именем файла Cookie, номером версии, сроком действия, датой выдачи, сохранением и данными, определяемыми пользователем. Путь файла Cookie задается значением по умолчанию, которое установлено в файле конфигурации приложения.

public:
 FormsAuthenticationTicket(int version, System::String ^ name, DateTime issueDate, DateTime expiration, bool isPersistent, System::String ^ userData);
public FormsAuthenticationTicket (int version, string name, DateTime issueDate, DateTime expiration, bool isPersistent, string userData);
new System.Web.Security.FormsAuthenticationTicket : int * string * DateTime * DateTime * bool * string -> System.Web.Security.FormsAuthenticationTicket
Public Sub New (version As Integer, name As String, issueDate As DateTime, expiration As DateTime, isPersistent As Boolean, userData As String)

Параметры

version
Int32

Номер версии билета.

name
String

Имя пользователя, связанное с билетом.

issueDate
DateTime

Локальное время и дата выпуска билета.

expiration
DateTime

Локальное время и дата срока действия билета.

isPersistent
Boolean

true, если билет будет храниться с постоянным файлом Cookie (сохраняемым между сеансами браузера); в противном случае — false. Если билет хранится в URL-адресе, это значение игнорируется.

userData
String

Данные пользователя для хранения с билетом.

Комментарии

Объект, FormsAuthenticationTicket созданный этим конструктором, CookiePath будет иметь значение , равное значению FormsCookiePath.

Примечание

Параметр userData не может иметь значение null.

См. также раздел

Применяется к

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

Выполняет инициализацию нового экземпляра класса FormsAuthenticationTicket с именем файла Cookie, номером версии, путем к каталогу, датой выдачи, сроком действия, сохранением и данными, определенными пользователем.

public:
 FormsAuthenticationTicket(int version, System::String ^ name, DateTime issueDate, DateTime expiration, bool isPersistent, System::String ^ userData, System::String ^ cookiePath);
public FormsAuthenticationTicket (int version, string name, DateTime issueDate, DateTime expiration, bool isPersistent, string userData, string cookiePath);
new System.Web.Security.FormsAuthenticationTicket : int * string * DateTime * DateTime * bool * string * string -> System.Web.Security.FormsAuthenticationTicket
Public Sub New (version As Integer, name As String, issueDate As DateTime, expiration As DateTime, isPersistent As Boolean, userData As String, cookiePath As String)

Параметры

version
Int32

Номер версии билета.

name
String

Имя пользователя, связанное с билетом.

issueDate
DateTime

Локальное время и дата выпуска билета.

expiration
DateTime

Локальное время и дата срока действия билета.

isPersistent
Boolean

true, если билет будет храниться с постоянным файлом Cookie (сохраняемым между сеансами браузера); в противном случае — false. Если билет хранится в URL-адресе, это значение игнорируется.

userData
String

Данные пользователя для хранения с билетом.

cookiePath
String

Путь для билета, если он хранится в файле cookie.

Примеры

Следующий пример кода сохраняет результат Encrypt метода в файле cookie с помощью FormsCookieName свойства и перенаправляет пользователя на URL-адрес, возвращенный методом GetRedirectUrl .

Важно!

В этом примере содержится текстовое поле, которое принимает введенные пользователем данные, что является потенциальной угрозой безопасности. По умолчанию данные, вводимые пользователем на веб-страницах ASP.NET, проверяются на наличие скриптов и HTML-элементов. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.

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

Комментарии

Примечание

Параметр userData не может иметь значение null.

См. также раздел

Применяется к