按一下以給予評分及指教
MSDN
MSDN Library
.NET 開發
.NET Framework
 RedirectFromLoginPage 方法 (String, B...
本頁僅適用於
Microsoft Visual Studio 2008/.NET Framework 3.5

其他版本也適用於下列軟體:
.NET Framework 類別庫
FormsAuthentication..::.RedirectFromLoginPage 方法 (String, Boolean)

更新:2007 年 11 月

將已驗證的使用者重新導向回到原來要求的 URL 或預設 URL。

命名空間:  System.Web.Security
組件:  System.Web (在 System.Web.dll 中)

Visual Basic (宣告)
Public Shared Sub RedirectFromLoginPage ( _
    userName As String, _
    createPersistentCookie As Boolean _
)
Visual Basic (使用方式)
Dim userName As String
Dim createPersistentCookie As Boolean

FormsAuthentication.RedirectFromLoginPage(userName, _
    createPersistentCookie)
C#
public static void RedirectFromLoginPage(
    string userName,
    bool createPersistentCookie
)
Visual C++
public:
static void RedirectFromLoginPage(
    String^ userName, 
    bool createPersistentCookie
)
J#
public static void RedirectFromLoginPage(
    String userName,
    boolean createPersistentCookie
)
JScript
public static function RedirectFromLoginPage(
    userName : String, 
    createPersistentCookie : boolean
)

參數

userName
型別:System..::.String

已驗證的使用者名稱。

createPersistentCookie
型別:System..::.Boolean

true 表示建立持久性 Cookie (跨瀏覽器工作階段儲存的 Cookie),否則為 false

例外狀況條件
HttpException

查詢字串中所指定的傳回 URL 含有 HTTP: 或 HTTPS: 以外的通訊協定。

RedirectFromLoginPage 方法會使用 ReturnURL 變數名稱,重新導向至查詢字串中指定的 URL。例如,在 URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspx 中,RedirectFromLoginPage 方法會重新導向至 傳回 URL caller.aspx。如果 ReturnURL 變數不存在,RedirectFromLoginPage 方法會重新導向至 DefaultUrl 屬性中的 URL。

當瀏覽器重新導向至登入網頁時,ASP.NET 會自動加入傳回的 URL。

ReturnUrl 變數預設為必須參考目前應用程式中的頁面。如果 ReturnUrl 參考不同應用程式中或不同伺服器上的頁面,RedirectFromLoginPage 方法會重新導向至 DefaultUrl 屬性中的 URL。如果要允許重新導向至目前應用程式之外的頁面,則必須使用 form 組態項目的 enableCrossAppRedirects 屬性 (Attribute),將 EnableCrossAppRedirects 屬性 (Property) 設定為 true

安全性注意事項:

EnableCrossAppRedirects 屬性設定為 true,允許跨應用程式重新導向,是潛在的安全性威脅。允許跨應用程式重新導向時,您的網站很容易受惡意網站的攻擊,該網站會使用您的登入網頁,說服您的網站使用者,讓使用者相信是在您的網站上使用安全網頁。若要在使用跨應用程式重新導向時提升安全性,必須覆寫 RedirectFromLoginPage 方法,只允許重新導向至已核准的網站。

如果 CookiesSupported 屬性為 true,且 ReturnUrl 變數位於目前的應用程式中或 EnableCrossAppRedirects 屬性為 true,則 RedirectFromLoginPage 方法會核發驗證票證,並使用 SetAuthCookie 方法將其放置於預設的 Cookie 中。

如果 CookiesSupportedfalse,而重新導向路徑是目前應用程式中的 URL,則核發票證,做為重新導向 URL 的一部分。如果 CookiesSupportedfalseEnableCrossAppRedirectstrue,而且重新導向 URL 未參考目前應用程式中的頁面,則 RedirectFromLoginPage 方法會核發驗證票證,並將它放置於 QueryString 屬性中。

下列程式碼範例會將已驗證的使用者重新導向至原先要求的 URL 或 DefaultUrl。程式碼範例是使用 ASP.NET 成員資格來驗證使用者。如需 ASP.NET 成員資格的詳細資訊,請參閱使用成員資格管理使用者

安全性注意事項:

這個範例包含一個可接受使用者輸入的文字方塊,這可能會造成安全性威脅。根據預設,ASP.NET Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。如需詳細資訊,請參閱 指令碼攻擊概觀

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

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

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求

.NET Framework

支援版本:3.5、3.0、2.0、1.1、1.0
社群內容   什麼是社群內容?
新增內容 RSS  註解
Processing
© 2008 Microsoft Corporation. All rights reserved. 使用規定  |  商標  |  隱私權聲明
Page view tracker