FormsAuthenticationTicket Oluşturucular
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
FormsAuthenticationTicket sınıfının yeni bir örneğini başlatır.
Aşırı Yüklemeler
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. |
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(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(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.
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)
Parametreler
- name
- String
Biletle ilişkilendirilmiş kullanıcı adı.
- isPersistent
- Boolean
true
bilet kalıcı bir tanımlama bilgisinde depolanacaksa (tarayıcı oturumlarında kaydedilir); aksi takdirde , false
. Anahtar URL'de depolanıyorsa, bu değer yoksayılır.
- timeout
- Int32
Kimlik doğrulama anahtarının geçerli olduğu dakika cinsinden süre.
Açıklamalar
FormsAuthenticationTicket Bu oluşturucu tarafından oluşturulan nesne, özelliğin FormsCookiePath değerine ayarlanmış bir CookiePathVersion değere, 2 değerine, IssueDate geçerli yerel tarih ve saatin değerine, UserData boş bir dizeye ("") ve geçerli yerel tarih ve saate ayarlanmış bir Expiration değere ve parametrenin timeout
değerine sahip olur.
Ayrıca bkz.
Şunlara uygulanı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.
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)
Parametreler
- version
- Int32
Biletin sürüm numarası.
- name
- String
Biletle ilişkilendirilmiş kullanıcı adı.
- issueDate
- DateTime
Biletin verildiği yerel tarih ve saat.
- expiration
- DateTime
Biletin süresinin dolmasına ilişkin yerel tarih ve saat.
- isPersistent
- Boolean
true
bilet kalıcı bir tanımlama bilgisinde depolanacaksa (tarayıcı oturumlarında kaydedilir); aksi takdirde , false
. Anahtar URL'de depolanıyorsa, bu değer yoksayılır.
- userData
- String
Anahtarla birlikte depolanacak kullanıcıya özgü veriler.
Açıklamalar
FormsAuthenticationTicket Bu oluşturucu tarafından oluşturulan nesnenin değerine ayarlanmış bir CookiePath değeri FormsCookiePatholacaktır.
Not
userData
parametresi olamaznull
.
Ayrıca bkz.
Şunlara uygulanı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 yeni bir örneğini FormsAuthenticationTicket başlatır.
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)
Parametreler
- version
- Int32
Biletin sürüm numarası.
- name
- String
Biletle ilişkilendirilmiş kullanıcı adı.
- issueDate
- DateTime
Biletin verildiği yerel tarih ve saat.
- expiration
- DateTime
Biletin süresinin dolmasına ilişkin yerel tarih ve saat.
- isPersistent
- Boolean
true
bilet kalıcı bir tanımlama bilgisinde depolanacaksa (tarayıcı oturumlarında kaydedilir); aksi takdirde , false
. Anahtar URL'de depolanıyorsa, bu değer yoksayılır.
- userData
- String
Anahtarla birlikte depolanacak kullanıcıya özgü veriler.
- cookiePath
- String
Bir tanımlama bilgisinde depolandığında biletin yolu.
Örnekler
Aşağıdaki kod örneği, özelliğini 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
Not
userData
parametresi olamaznull
.