FormsAuthentication.RedirectFromLoginPage メソッド

定義

認証済みユーザーを最初に要求された URL または既定の URL にリダイレクトします。

オーバーロード

RedirectFromLoginPage(String, Boolean)

認証済みユーザーを最初に要求された URL または既定の URL にリダイレクトします。

RedirectFromLoginPage(String, Boolean, String)

フォーム認証クッキーに指定されているクッキー パスを使用して、認証済みユーザーを最初に要求された URL または既定の URL にリダイレクトします。

RedirectFromLoginPage(String, Boolean)

認証済みユーザーを最初に要求された URL または既定の URL にリダイレクトします。

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)

パラメーター

userName
String

認証済みユーザー名。

createPersistentCookie
Boolean

複数のブラウザー セッションにわたって保存される永続的なクッキーを作成する場合は true。それ以外の場合は false

例外

クエリ文字列内に指定されている戻り先 URL に、HTTP: または HTTPS: 以外のプロトコルが含まれています。

次のコード例では、検証済みのユーザーを、最初に要求された URL または のいずれかにリダイレクトします DefaultUrl。 このコード例では、ASP.NET メンバーシップを使用してユーザーを検証します。 メンバーシップ ASP.NET の詳細については、「メンバーシップ を使用したユーザーの管理」を参照してください。

重要

この例には、潜在的なセキュリティ上の脅威であるユーザー入力を受け入れるテキスト ボックスが含まれています。 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。 詳細については、「スクリプトによる攻略の概要」を参照してください。

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

注釈

メソッドは RedirectFromLoginPage 、変数名を使用してクエリ文字列で指定された URL に ReturnURL リダイレクトします。 たとえば、URL http://www.contoso.com/login.aspx?ReturnUrl=caller.aspxでは、 メソッドは RedirectFromLoginPage 戻り値の URL にリダイレクトします caller.aspx。 変数が ReturnURL 存在しない場合、メソッドは RedirectFromLoginPage プロパティの DefaultUrl URL にリダイレクトします。

ASP.NET ブラウザーがログイン ページにリダイレクトされると、戻り URL が自動的に追加されます。

既定では、変数は現在の ReturnUrl アプリケーション内のページを参照する必要があります。 が別のアプリケーションまたは別のサーバー上のページを参照している場合 ReturnUrlRedirectFromLoginPage メソッドは プロパティの DefaultUrl URL にリダイレクトされます。 現在のアプリケーションの外部のページへのリダイレクトを許可する場合は、フォーム構成要素の 属性をEnableCrossAppRedirects使用して enableCrossAppRedirects プロパティを にtrue設定する必要があります。

重要

アプリケーション間リダイレクトを EnableCrossAppRedirects 許可するように プロパティを に true 設定することは、潜在的なセキュリティ上の脅威です。 詳細については、EnableCrossAppRedirects プロパティを参照してください。

プロパティtrueCookiesSupported で、変数が現在のReturnUrlアプリケーション内にあるかEnableCrossAppRedirects、 プロパティが であるRedirectFromLoginPage場合、メソッドはtrue認証チケットを発行し、 メソッドを使用してSetAuthCookie既定の Cookie に配置します。

false で、リダイレクト パスが現在のアプリケーションの URL である場合CookiesSupported、チケットはリダイレクト URL の一部として発行されます。 が falseEnableCrossAppRedirectstrue、リダイレクト URL が現在のアプリケーション内のページを参照していない場合CookiesSupported、メソッドはRedirectFromLoginPage認証チケットを発行して プロパティにQueryString配置します。

こちらもご覧ください

適用対象

RedirectFromLoginPage(String, Boolean, String)

フォーム認証クッキーに指定されているクッキー パスを使用して、認証済みユーザーを最初に要求された URL または既定の URL にリダイレクトします。

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)

パラメーター

userName
String

認証済みユーザー名。

createPersistentCookie
Boolean

複数のブラウザー セッションにわたって保存される永続的なクッキーを作成する場合は true。それ以外の場合は false

strCookiePath
String

フォーム認証チケットのクッキー パス。

例外

クエリ文字列内に指定されている戻り先 URL に、HTTP: または HTTPS: 以外のプロトコルが含まれています。

注釈

メソッドは RedirectFromLoginPage 、変数名を使用してクエリ文字列で指定された戻り URL に ReturnURL リダイレクトします。 たとえば、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 にリダイレクトされます。 現在のアプリケーションの外部のページへのリダイレクトを許可する場合は、フォーム構成要素の 属性をEnableCrossAppRedirects使用して enableCrossAppRedirects プロパティを にtrue設定する必要があります。

重要

アプリケーション間リダイレクトを EnableCrossAppRedirects 許可するように プロパティを に true 設定することは、潜在的なセキュリティ上の脅威です。 詳細については、EnableCrossAppRedirects プロパティを参照してください。

プロパティtrueCookiesSupported で、変数が現在のReturnUrlアプリケーション内にあるかEnableCrossAppRedirects、 プロパティが であるRedirectFromLoginPage場合、メソッドはtrue認証チケットを発行し、 メソッドを使用して SetAuthCookie パラメーターでstrCookiePath指定された Cookie に配置します。

false で、リダイレクト パスが現在のアプリケーションの URL である場合CookiesSupported、チケットはリダイレクト URL の一部として発行されます。 が falseEnableCrossAppRedirectstrue、リダイレクト URL が現在のアプリケーション内のページを参照していない場合CookiesSupported、メソッドはRedirectFromLoginPage認証チケットを発行して プロパティにQueryString配置します。

こちらもご覧ください

適用対象