2009-07-23 71 views
10

這是this question的分支。如何在不使用MembershipProvider的情況下使用ASP.NET登錄控件?

  • 如果我沒有MembershipProvider指向它,我該如何使用Login控件?
  • 我是否正確理解使用模型?
  • 談論如何使用Login控件而不使用MembershipProvider是否合理?
  • 劑量MembershipProvider做的不僅僅是用戶名/密碼檢查嗎?
  • 使用相同的驗證邏輯創建我自己的MembershipProvider會更合理嗎?

在我而言,我並不需要一個MembershipProvider(我認爲)我的驗證的情況是微不足道的(一個用戶,一個密碼)。

我對部分感興趣的部分是「未來證明」我的網頁,部分原因是我是新來的,想知道如何工作。 (我傾向於通過全速跑入每個角落的情況來了解事情,我可以找到:)

回答

23

您可以在頁面中放置asp:Login控件,然後在代碼後面捕獲Login Control的Authenticate事件。

在Authenticate事件中,檢查用戶輸入的用戶名/密碼。用戶名/密碼是登錄控件中的屬性。 (Login.UserName,Login.Password)

如果用戶名/密碼正確,只需將事件參數Authenticated屬性設置爲True即可。

不需要會員提供。

ex。在aspx頁面..

<asp:Login ID="LoginCtrl" runat="server" DestinationPageUrl="YouAreIn.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 = "Hello" AndAlso LoginCtrl.Password = "Hello" Then 
     e.Authenticated = True 
    End If 

C#

void MyLogin_Authenticate(object sender, AuthenticateEventArgs e) 
{ 
    if(UserName == "Hello" && Password == "Hello") 
     e.Authenticated = true; 
} 
3

如果您沒有會員服務提供商,並且沒有真正的安全系統可言,只需在表格(用戶名,密碼)上放置兩個框並在按鈕點擊時進行測試。

登錄控制顯然是矯枉過正,你試圖做什麼。

+0

你現在可能是正確的。此外,這迫使我想出如何處理cookie和重定向以及什麼。 – BCS 2009-07-23 23:22:45

+0

我沒有遇到麻煩創建一個cookie,我只是沒有使用過它,而不願意現在學習。 – BCS 2009-07-23 23:36:42

相關問題