FormsAuthentication.RedirectFromLoginPage Yöntem

Tanım

Kimliği doğrulanmış bir kullanıcıyı özgün istenen URL'ye veya varsayılan URL'ye geri yönlendirir.

Aşırı Yüklemeler

RedirectFromLoginPage(String, Boolean)

Kimliği doğrulanmış bir kullanıcıyı özgün istenen URL'ye veya varsayılan URL'ye geri yönlendirir.

RedirectFromLoginPage(String, Boolean, String)

Kimliği doğrulanmış bir kullanıcıyı, forms-authentication tanımlama bilgisi için belirtilen tanımlama bilgisi yolunu kullanarak ilk istenen URL'ye veya varsayılan URL'ye geri yönlendirir.

RedirectFromLoginPage(String, Boolean)

Kimliği doğrulanmış bir kullanıcıyı özgün istenen URL'ye veya varsayılan URL'ye geri yönlendirir.

public:
 static void RedirectFromLoginPage(System::String ^ userName, bool createPersistentCookie);
public static void RedirectFromLoginPage (string userName, bool createPersistentCookie);
static member RedirectFromLoginPage : string * bool -> unit
Public Shared Sub RedirectFromLoginPage (userName As String, createPersistentCookie As Boolean)

Parametreler

userName
String

Kimliği doğrulanmış kullanıcı adı.

createPersistentCookie
Boolean

Dayanıklı bir tanımlama bilgisi (tarayıcı oturumlarında kaydedilen çerez) oluşturmak için true; aksi takdirde false.

Özel durumlar

Sorgu dizesinde belirtilen dönüş URL'si HTTP: veya HTTPS: dışında bir protokol içerir.

Örnekler

Aşağıdaki kod örneği, doğrulanmış kullanıcıları başlangıçta istenen URL'ye veya DefaultUrlyönlendirir. Kod örneği, kullanıcıları doğrulamak için ASP.NET üyeliğini kullanır. ASP.NET üyelik hakkında daha fazla bilgi için bkz. ÜyelikKullanarak Kullanıcıları Yönetme.

Ö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">

public void Login_OnClick(object sender, EventArgs args)
{
   if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
   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>Login</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
  Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
 
  <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
  <asp:CheckBox id="NotPublicCheckBox" runat="server" /> 
  Check here if this is <span style="text-decoration:underline">not</span> a public computer.

</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">

Public Sub Login_OnClick(sender As Object, args As  EventArgs)

   If (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) Then
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked)
   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>Login</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
  Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
 
  <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
  <asp:CheckBox id="NotPublicCheckBox" runat="server" /> 
  Check here if this is <span style="text-decoration:underline">not</span> a public computer.

</form>

</body>
</html>

Açıklamalar

RedirectFromLoginPage yöntemi, ReturnURL değişken adını kullanarak sorgu dizesinde belirtilen URL'ye yeniden yönlendirir. Örneğin, URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspxRedirectFromLoginPage yöntemi caller.aspxdönüş URL'sine yönlendirilir. ReturnURL değişkeni yoksa, RedirectFromLoginPage yöntemi DefaultUrl özelliğindeki URL'ye yeniden yönlendirir.

ASP.NET tarayıcı oturum açma sayfasına yeniden yönlendirildiğinde dönüş URL'sini otomatik olarak ekler.

Varsayılan olarak, ReturnUrl değişkeni geçerli uygulama içindeki bir sayfaya başvurmalıdır. ReturnUrl farklı bir uygulamadaki veya farklı bir sunucudaki sayfaya başvuruyorsa, RedirectFromLoginPage yöntemleri DefaultUrl özelliğindeki URL'ye yönlendirilir. Geçerli uygulamanın dışındaki bir sayfaya yeniden yönlendirmelere izin vermek istiyorsanız, formlarının yapılandırma öğesinin enableCrossAppRedirects özniteliğini kullanarak EnableCrossAppRedirects özelliğini true olarak ayarlamanız gerekir.

Önemli

EnableCrossAppRedirects özelliğinin, uygulamalar arası yeniden yönlendirmelere izin vermek için true olarak ayarlanması olası bir güvenlik tehdididir. Daha fazla bilgi için EnableCrossAppRedirects özelliğine bakın.

CookiesSupported özelliği trueise ve ReturnUrl değişkeni geçerli uygulama içindeyse veya EnableCrossAppRedirects özelliği trueise, RedirectFromLoginPage yöntemi bir kimlik doğrulama bileti verir ve SetAuthCookie yöntemini kullanarak bunu varsayılan tanımlama bilgisine yerleştirir.

CookiesSupported false ve yeniden yönlendirme yolu geçerli uygulamadaki bir URL'ye ise, bilet yeniden yönlendirme URL'sinin bir parçası olarak verilir. CookiesSupported falseise EnableCrossAppRedirectstrueve yeniden yönlendirme URL'si geçerli uygulama içindeki bir sayfaya başvurmuyorsa, RedirectFromLoginPage yöntemi bir kimlik doğrulama bileti verir ve bunu QueryString özelliğine yerleştirir.

Ayrıca bkz.

  • Web Uygulaması Güvenliği ASP.NET

Şunlara uygulanır

RedirectFromLoginPage(String, Boolean, String)

Kimliği doğrulanmış bir kullanıcıyı, forms-authentication tanımlama bilgisi için belirtilen tanımlama bilgisi yolunu kullanarak ilk istenen URL'ye veya varsayılan URL'ye geri yönlendirir.

public:
 static void RedirectFromLoginPage(System::String ^ userName, bool createPersistentCookie, System::String ^ strCookiePath);
public static void RedirectFromLoginPage (string userName, bool createPersistentCookie, string strCookiePath);
static member RedirectFromLoginPage : string * bool * string -> unit
Public Shared Sub RedirectFromLoginPage (userName As String, createPersistentCookie As Boolean, strCookiePath As String)

Parametreler

userName
String

Kimliği doğrulanmış kullanıcı adı.

createPersistentCookie
Boolean

Dayanıklı bir tanımlama bilgisi (tarayıcı oturumlarında kaydedilen çerez) oluşturmak için true; aksi takdirde false.

strCookiePath
String

Forms-authentication bileti için tanımlama bilgisi yolu.

Özel durumlar

Sorgu dizesinde belirtilen dönüş URL'si HTTP: veya HTTPS: dışında bir protokol içerir.

Açıklamalar

RedirectFromLoginPage yöntemi, ReturnURL değişken adını kullanarak sorgu dizesinde belirtilen dönüş URL'sine yönlendirir. Örneğin, URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspxRedirectFromLoginPage yöntemi caller.aspxdönüş URL'sine yönlendirilir. ReturnURL değişkeni yoksa, RedirectFromLoginPage yöntemi DefaultUrl özelliğindeki URL'ye yeniden yönlendirir.

ASP.NET tarayıcı oturum açma sayfasına yeniden yönlendirildiğinde dönüş URL'sini otomatik olarak ekler.

Varsayılan olarak, ReturnUrl değişkeni geçerli uygulama içindeki bir sayfaya başvurmalıdır. ReturnUrl farklı bir uygulamadaki veya farklı bir sunucudaki bir sayfaya başvuruyorsa, RedirectFromLoginPage yöntemi DefaultUrl özelliğindeki URL'ye yeniden yönlendirir. Geçerli uygulamanın dışındaki bir sayfaya yeniden yönlendirmelere izin vermek istiyorsanız, formlarının yapılandırma öğesinin enableCrossAppRedirects özniteliğini kullanarak EnableCrossAppRedirects özelliğini true olarak ayarlamanız gerekir.

Önemli

EnableCrossAppRedirects özelliğinin, uygulamalar arası yeniden yönlendirmelere izin vermek için true olarak ayarlanması olası bir güvenlik tehdididir. Daha fazla bilgi için EnableCrossAppRedirects özelliğine bakın.

CookiesSupported özelliği trueise ve ReturnUrl değişkeni geçerli uygulama içindeyse veya EnableCrossAppRedirects özelliği trueise, RedirectFromLoginPage yöntemi bir kimlik doğrulama bileti verir ve SetAuthCookie yöntemini kullanarak strCookiePath parametresi tarafından belirtilen tanımlama bilgisine yerleştirir.

CookiesSupported false ve yeniden yönlendirme yolu geçerli uygulamadaki bir URL'ye ise, bilet yeniden yönlendirme URL'sinin bir parçası olarak verilir. CookiesSupported falseise EnableCrossAppRedirectstrueve yeniden yönlendirme URL'si geçerli uygulama içindeki bir sayfaya başvurmuyorsa, RedirectFromLoginPage yöntemi bir kimlik doğrulama bileti verir ve bunu QueryString özelliğine yerleştirir.

Ayrıca bkz.

  • Web Uygulaması Güvenliği ASP.NET

Şunlara uygulanır