次の方法で共有


FormsAuthentication.RedirectFromLoginPage メソッド

定義

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

オーバーロード

RedirectFromLoginPage(String, Boolean)

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

RedirectFromLoginPage(String, Boolean, String)

認証されたユーザーを、フォーム認証 Cookie の指定された Cookie パスを使用して、最初に要求された 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

永続的な Cookie (ブラウザー セッション間で保存される Cookie) を作成する 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 メソッドは、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 にリダイレクトします。 現在のアプリケーションの外部にあるページへのリダイレクトを許可する場合は、フォーム 構成要素の enableCrossAppRedirects 属性を使用して、EnableCrossAppRedirects プロパティを true に設定する必要があります。

大事な

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

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

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

こちらもご覧ください

適用対象

RedirectFromLoginPage(String, Boolean, String)

認証されたユーザーを、フォーム認証 Cookie の指定された Cookie パスを使用して、最初に要求された 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

永続的な Cookie (ブラウザー セッション間で保存される Cookie) を作成する true。それ以外の場合は、falseします。

strCookiePath
String

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

例外

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

大事な

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

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

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

こちらもご覧ください

適用対象