FormsAuthenticationTicket Construtores

Definição

Inicializa uma nova instância da FormsAuthenticationTicket classe.

Sobrecargas

Name Description
FormsAuthenticationTicket(String, Boolean, Int32)

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

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

Inicializa uma nova instância da FormsAuthenticationTicket classe com nome do cookie, versão, data de validade, data de emissão, persistência e dados específicos do utilizador. O caminho das cookies é definido para o valor padrão estabelecido no ficheiro de configuração da aplicação.

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

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

FormsAuthenticationTicket(String, Boolean, Int32)

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

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 utilizador associado ao bilhete.

isPersistent
Boolean

true se o ticket for armazenado num cookie persistente (guardado entre sessões do navegador); caso contrário, false. Se o ticket estiver armazenado na URL, esse valor é ignorado.

timeout
Int32

O tempo, em minutos, para o qual o ticket de autenticação é válido.

Observações

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

Ver também

Aplica-se a

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

Inicializa uma nova instância da FormsAuthenticationTicket classe com nome do cookie, versão, data de validade, data de emissão, persistência e dados específicos do utilizador. O caminho das cookies é definido para o valor padrão estabelecido no ficheiro de configuração da aplicação.

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 da versão do bilhete.

name
String

O nome de utilizador associado ao bilhete.

issueDate
DateTime

A data e hora locais em que a multa foi emitida.

expiration
DateTime

A data e hora locais em que o bilhete expira.

isPersistent
Boolean

true se o ticket for armazenado num cookie persistente (guardado entre sessões do navegador); caso contrário, false. Se o ticket estiver armazenado na URL, esse valor é ignorado.

userData
String

Os dados específicos do utilizador a serem armazenados com o ticket.

Observações

O FormsAuthenticationTicket objeto criado por este construtor terá um CookiePath valor atribuído ao valor do FormsCookiePath.

Note

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

Ver também

Aplica-se a

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

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

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 da versão do bilhete.

name
String

O nome de utilizador associado ao bilhete.

issueDate
DateTime

A data e hora locais em que a multa foi emitida.

expiration
DateTime

A data e hora locais em que o bilhete expira.

isPersistent
Boolean

true se o ticket for armazenado num cookie persistente (guardado entre sessões do navegador); caso contrário, false. Se o ticket estiver armazenado na URL, esse valor é ignorado.

userData
String

Os dados específicos do utilizador a serem armazenados com o ticket.

cookiePath
String

O caminho para o ticket quando armazenado num cookie.

Exemplos

O exemplo de código seguinte armazena o resultado do Encrypt método num cookie usando a FormsCookieName propriedade e redireciona o utilizador para o URL devolvido pelo GetRedirectUrl método.

Importante

Este exemplo contém uma caixa de texto que aceita a entrada do utilizador, o que constitui uma potencial ameaça à segurança. Por defeito, as páginas Web do ASP.NET validam que a entrada do utilizador não inclui elementos de script ou HTML. Para mais informações, consulte Visão Geral dos Exploits de Scripts.

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

Observações

Note

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

Ver também

Aplica-se a