2

ユーザーがログインする Web サイトがありますasp:Login。ログインページは正常に機能しますが、ユーザーがサイトにログインすると、この方法でユーザー名を送信する認証ページにリダイレクトされるイベントハンドラーを関連付けました。

 protected void LoginUserPass_LoggingIn(object sender, LoginCancelEventArgs e)
        {

            Response.Redirect("~/Authenticate.aspx?user=" + LoginUserPass.UserName);
        }

そして、私はDestinationPageUrlLoginView を に設定しました"~/Authenticate.aspx"。ユーザーが認証されると、メンバー ページへの別のリダイレクトが発生します。ただし、私のメンバーページでは、ユーザーがログインしていることは表示されません。

    <asp:LoginStatus ID="LoginStatus1" runat="server" 
        LogoutAction="Redirect" BackColor="White" 
        Font-Underline="True" LogoutPageUrl="~/Default.aspx" />

どこが間違っているのですか?

4

1 に答える 1

1

ユーザーがログインすると、サイトがリダイレクトされます...

ユーザーがユーザー名とパスワードを使用してログインしている場合、リダイレクトすると、LogginInイベントのリダイレクト前にユーザーはログインしません。

Login.LoggingInイベント

LoggingInイベントは、ユーザーがログイン情報を送信したときに、ユーザーがWebサイトで認証される前に発生します。LoggingInイベントを使用して、ユーザーを認証する前に必要な情報を設定します。

代わりにLoggedInを使用してください。

Login.LoggedInイベント

LoggedInイベントは、認証プロバイダーがユーザーの資格情報を確認し、認証Cookieがキューに入れられて、次の応答でブラウザーに送信された後に発生しますLoggedInイベントを使用して、ユーザーが認証された後、ユーザーごとのデータへのアクセスなどの追加処理を提供します。

于 2012-03-11T18:07:02.013 に答える