Partilhar via


FormsAuthenticationTicket Construtores

Definição

Inicializa uma nova instância da classe FormsAuthenticationTicket.

Sobrecargas

FormsAuthenticationTicket(String, Boolean, Int32)

Inicializa uma nova instância da classe FormsAuthenticationTicket usando informações de nome e expiração de um cookie.

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

Inicializa uma nova instância da classe FormsAuthenticationTicket com o nome do cookie, a versão, a data de vencimento, a data de emissão, a persistência e dados específicos do usuário. O caminho do cookie é definido com o valor padrão estabelecido no arquivo de configuração do aplicativo.

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

Inicializa uma nova instância da classe FormsAuthenticationTicket com o nome do cookie, versão, caminho de diretório, data de emissão, data de expiração, persistência e dados definidos pelo usuário.

FormsAuthenticationTicket(String, Boolean, Int32)

Inicializa uma nova instância da classe FormsAuthenticationTicket usando informações de nome e expiração de um 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)

Parâmetros

name
String

O nome de usuário associado ao tíquete.

isPersistent
Boolean

true se o tíquete estiver armazenado em um cookie persistente (salvo entre as sessões do navegador); caso contrário, false. Se o tíquete estiver armazenado na URL, esse valor será ignorado.

timeout
Int32

O tempo, em minutos, durante o qual o tíquete de autenticação é válido.

Comentários

O FormsAuthenticationTicket objeto criado por esse construtor terá um CookiePath valor definido como o valor da FormsCookiePath propriedade, um Version valor de 2, um IssueDate valor da data e hora local atuais, um UserData valor de uma cadeia de caracteres vazia ("" e um Expiration valor definido como a data e hora local atuais mais o valor do timeout parâmetro.

Confira também

Aplica-se a

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

Inicializa uma nova instância da classe FormsAuthenticationTicket com o nome do cookie, a versão, a data de vencimento, a data de emissão, a persistência e dados específicos do usuário. O caminho do cookie é definido com o valor padrão estabelecido no arquivo de configuração do aplicativo.

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)

Parâmetros

version
Int32

O número de versão do tíquete.

name
String

O nome de usuário associado ao tíquete.

issueDate
DateTime

A data e hora local em que o tíquete foi emitido.

expiration
DateTime

A data e hora local em que o tíquete expira.

isPersistent
Boolean

true se o tíquete estiver armazenado em um cookie persistente (salvo entre as sessões do navegador); caso contrário, false. Se o tíquete estiver armazenado na URL, esse valor será ignorado.

userData
String

Os dados específicos do usuário a serem armazenados com o tíquete.

Comentários

O FormsAuthenticationTicket objeto criado por esse construtor terá um CookiePath valor definido como o valor do FormsCookiePath.

Observação

O parâmetro userData não pode ser null.

Confira também

Aplica-se a

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

Inicializa uma nova instância da classe FormsAuthenticationTicket com o nome do cookie, versão, caminho de diretório, data de emissão, data de expiração, persistência e dados definidos pelo usuário.

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)

Parâmetros

version
Int32

O número de versão do tíquete.

name
String

O nome de usuário associado ao tíquete.

issueDate
DateTime

A data e hora local em que o tíquete foi emitido.

expiration
DateTime

A data e hora local em que o tíquete expira.

isPersistent
Boolean

true se o tíquete estiver armazenado em um cookie persistente (salvo entre as sessões do navegador); caso contrário, false. Se o tíquete estiver armazenado na URL, esse valor será ignorado.

userData
String

Os dados específicos do usuário a serem armazenados com o tíquete.

cookiePath
String

O caminho para o tíquete quando armazenado em um cookie.

Exemplos

O exemplo de código a seguir armazena o resultado do Encrypt método em um cookie usando a FormsCookieName propriedade e redireciona o usuário para a URL retornada do GetRedirectUrl método .

Importante

Este exemplo contém uma caixa de texto que aceita a entrada do usuário, que é uma possível ameaça à segurança. Por padrão, ASP.NET páginas da Web validam que a entrada do usuário não inclui elementos html ou script. Para obter mais informações, consulte Visão geral de explorações de script.

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

Comentários

Observação

O parâmetro userData não pode ser null.

Confira também

Aplica-se a