0

我正在构建一个小型 Web 应用程序,我需要创建一个登录页面。我有自己的 MS-SQL 服务器数据库,其中有一个表用户,登录将从表中检索信息以验证用户。现在,当用户登录时,我希望能够看到用户名和旁边的注销链接。但是,我不知道如何实现它。我阅读了有关登录名控制的信息,但它似乎只适用于会员提供程序。有什么办法可以吗?谢谢~~

4

2 回答 2

0

您需要添加一个登录控件,如下所示:

<asp:Login ID="LoginCtrl" runat="server" DestinationPageUrl="Defaul.aspx"></asp:Login>

在代码后面

Private Sub Log_Authenticate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles LoginCtrl.Authenticate
    If LoginCtrl.UserName = "Username" AndAlso LoginCtrl.Password = "Password" Then
        e.Authenticated = True
End If

void MyLogin_Authenticate(object sender, AuthenticateEventArgs e)
{
    if(UserName == "Username" && Password == "Password")
    e.Authenticated = true;
}
于 2013-02-20T03:22:20.107 回答
0

根据您所写的内容,我假设您在成功登录后必须设置一些会话变量来保存您的登录详细信息,并且您没有使用 .net 提供的实用程序的任何功能,如会员提供商。在这种情况下,当登录详细信息成功时,设置一个保存用户唯一标识号的会话变量。

例子:

登录成功后,您可以将会话变量 ["uid"] 设置为用户 ID。在您的页面加载事件中检查此变量以查看用户是否已通过身份验证。如果用户已通过身份验证,那么如果 userid 会话变量为 null 或 0 重定向到登录页面,您是否会做其他事情。

现在,为了显示登录/注销名称,您可以创建一个包含 2 行表的用户控件。在每一行中,在顶行添加一个面板 panel1,在底行添加一个面板 2。将其可见性设置为隐藏

现在在顶行面板 panel1 中拖动带有文本的链接按钮作为登录名。单击事件将用户重定向到登录页面。在面板 2 中拖动一个标签说 label1 和一个带有文本注销的链接按钮。注销时单击事件会破坏会话并重定向到登录页面。

现在在用户控件加载事件中检查 uid 会话变量,如果 uid 有效,则将 label1 文本设置为 username 。使 panel2 可见,并在 uid 变量无效的情况下执行相反的操作。在您需要显示登录/注销详细信息的任何地方使用此控件。希望这足以开始......

于 2013-02-20T07:24:46.013 回答