登录控制以及如何实现我正在寻找的东西

时间:2012-05-01 14:01:36

标签: asp.net .net visual-studio-2010

我使用aspx visual studio 2010创建了一个新项目。我想要做的就是用户登录并重定向到另一个页面。我要将一些东西保存为cookie或应用程序/会话对象 所以我使用登录模板创建了一个全新的aspx应用程序。我打开了login.aspx,然后打开了登录按钮后面的代码。当用户单击确定时,我连接到我的sql server数据库并验证他们的登录名/密码。一旦我这样做并确定这是一个有效的用户,我如何告诉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匿名模板有点不满。我怎么说现在使用LoginTemplate与匿名。我必须执行某项财产或方法吗? 感谢

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

验证用户凭据后使用RedirectFromLoginPage方法。这将使用ReturnUrl查询字符串参数将用户发送到他请求的URL。这也将设置相应的FormsAuthentication cookie。