2013-02-20 364 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變量的情況下做相反的處理。 在你想要的任何位置使用此控件來顯示登錄/註銷詳細信息。 希望這是足夠的開始.....