2013-02-20 283 views
0

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

回答

0

您需要添加一个Login控件,如图:

<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; 
} 
+0

感谢指出我在正确的方向。但是我为登录控件创建了一个布局模板,并且还创建了一个登录按钮。我如何处理登录点击事件,使用身份验证功能? – coffeeak 2013-02-20 07:05:35

+0

我们欢迎:)如果你展示你的代码,我可以进一步帮助你 – coder 2013-02-20 07:15:26

+0

没关系,我在MSDN上找到它:P – coffeeak 2013-02-20 07:25:32

0

从你写什么,我假设成功登录后,您必须设置一些会话变量来保存您的登录详细信息,而且您没有使用.net会员提供程序提供的实用程序的任何buitin功能。在这种情况下,当登录详细信息成功时,请设置保存用户唯一标识号的会话变量。

实施例:

当登录成功则可以设置一个会话变量[“UID”],将用户ID。在您的页面加载事件中检查此变量以查看用户是否已通过身份验证。 如果用户已经通过身份验证,那么如果用户标识会话变量为空或0重定向到登录页面,您是否还有其他东西?

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

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

现在在usercontrol加载事件中检查uid会话变量如果uid是有效的,则将label1文本设置为username。使panel2可见并且在无效的uid变量的情况下做相反的处理。 在你想要的任何位置使用此控件来显示登录/注销详细信息。 希望这是足够的开始.....