1

aspx Visual Studio 2010 を使用して新しいプロジェクトを作成しました。ユーザーがログインして別のページにリダイレクトするだけです。いくつかのものを Cookie またはアプリケーション/セッション オブジェクトとして保存します。
そこで、ログイン テンプレートを使用してまったく新しい aspx アプリケーションを作成しました。login.aspx を開き、ログイン ボタンの背後にあるコードを開きました。ユーザーが [OK] をクリックすると、SQL サーバー データベースに接続し、ログイン/パスワードを検証します。これを行って、これが有効なユーザーであると判断したら、これが有効なユーザーであることを aspx に伝えるにはどうすればよいですか?

私はこれに気づきました:

        <div class="loginDisplay">
            <asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
                <AnonymousTemplate>
                    [ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">Log In</a> ]
                </AnonymousTemplate>
                <LoggedInTemplate>
                    Welcome <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>!
                    [ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/"/> ]
                </LoggedInTemplate>
            </asp:LoginView>

したがって、ユーザーが認証されていると何らかの形で言う必要があると想定しています。しかし、どのように?LoginTemplates VS Anonymous テンプレートについて少し混乱していると思います。How do I say 今、LoginTemplate と anonymous を使用します。実行する必要があるプロパティまたはメソッドはありますか? ありがとう

4

2 に答える 2

1

Login1_Authenticate でこれを試してください:

ユーザーが入力した詳細に基づいてユーザーを検証する必要があります。ユーザーが認証に合格した場合は、必要な場所にリダイレクトします。そうでない場合は、メッセージを表示します。

Protected Sub Login1_Authenticate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles Login1.Authenticate
        Dim IsValidate As Boolean = Membership.ValidateUser(Login1.UserName, Login1.Password)
        If Not IsValidate Then
            e.Authenticated = False
            Login1.FailureText = "Please check your mail if not activated."
        Else
            e.Authenticated = True
        End If
End Sub

そしてLogin1_LoggedInで

Protected Sub Login1_LoggedIn(ByVal sender As Object, ByVal e As System.EventArgs) Handles Login1.LoggedIn
        If Request.QueryString("Url") IsNot Nothing Then
            Response.Redirect("~/" & Request.QueryString("Url").ToString())
        Else
            Response.Redirect("~/Default.aspx")
        End If
End Sub
于 2012-05-01T14:03:29.017 に答える
0

ユーザー資格情報を検証した後、 RedirectFromLoginPageメソッドを使用します。これにより、ReturnUrl クエリ文字列引数を使用して要求した URL にユーザーが送信されます。これにより、適切な FormsAuthentication Cookie も設定されます。

于 2012-05-01T14:07:49.570 に答える