0

C# と .Net を使用しています。認証 (メンバーシップ プロバイダーを使用) が失敗したときに、ユーザーを特定の URL にリダイレクトする必要があります。

使おうと思ってた

RedirectToLoginPage(String)

MSDN から: 指定したクエリ文字列を使用してブラウザーをログイン URL にリダイレクトします。

ただし、URL を変更する必要があります。

使用例:

 if (!Membership.ValidateUser(userName, password))
    {// do smt here}  

それを解決する方法は他にありますか?

4

3 に答える 3

2

私にとってこれは本当にうまくいきます

aspx:

Username: <br />
<asp:TextBox runat="server" ID="txtUserName"></asp:TextBox>
<br />
Password: <br />
<asp:TextBox runat="server" ID="txtPassword" TextMode="Password"></asp:TextBox>
<br />
<asp:Button runat="server" ID="btnLogin" Text="Login" onclick="btnLogin_Click" 
    style="height: 26px" />

コードビハインド:

protected void btnLogin_Click(object sender, EventArgs e)
{
   string username = txtUserName.Text.Trim();
   string password = txtPassword.Text.Trim();

   if (Membership.ValidateUser(username, password))
   {
     //...             
   }
   else
   {
       Response.Redirect("Hello.aspx");
   }
}
于 2013-02-12T07:43:05.323 に答える
1

ユーザーの有効性を確認するための資格情報を投稿するときは、「return-to url」クエリ パラメータなども渡します。また、背後にあるロジックでは、ユーザーの有効性をプログラムで確認し、ユーザーが正常に認証された場合は指定された URL にリダイレクトします。認証に失敗した場合は、特定のページにリダイレクトします。

認証が失敗した場合にリダイレクトする必要があるため、クライアント側で認証の失敗に起因する 401 http ステータスを処理し、そこから目的のページにリダイレクトすることもできます。

于 2013-02-12T07:34:42.273 に答える