2011-09-22 44 views
1

我在使用FormsAuthentication進行登錄的ASP.NET(使用C#)中創建新的Web應用程序。標準的FormsAuthentication設置目前已經就緒,像往常一樣在web.config中指定用戶名和密碼,並且此設置運行良好。但是,如何將FormsAuthentication與存儲在SQL Server數據庫表中的登錄一起使用?

我想將此登錄設置鏈接到數據庫中的SQL Server表。此表存儲每個用戶的用戶帳戶信息,包括用戶名和密碼。基本上,我想找到一種方法,以便下面這行代碼將在此數據庫表中查找用戶名和密碼,而不像通常那樣在web.config中:

FormsAuthentication.Authenticate(txt_username。 Text,txt_password.Text);

但是我完全不知道如何做到這一點。 我一直在閱讀有關Membership.ValidateUser,但我仍然無法找到如何使用它鏈接到數據庫中的用戶表中的用戶名和密碼。

任何幫助將不勝感激! (順便說一下,這是我的第一篇文章,所以請隨時指出我可能做出的任何noob錯誤)。

回答

1

您需要實現一個自定義MembershipProvider。

MembershipProvider是您的應用程序用來認證用戶以及處理用戶相關功能(更改密碼,解鎖用戶等)的機制。一個自定義的MembershipProvider只不過是一個擴展了抽象類的類。這是您編寫自定義邏輯以與數據庫接口執行所需的成員資格操作(驗證憑據,創建用戶,更改密碼等)的位置。

看一看這個教程:

http://www.asp.net/general/videos/how-do-i-create-a-custom-membership-provider

This是,如果你不熟悉ASP.NET成員一個很好的資源。

+0

謝謝你,我看着這兩個資源,但最終想通了,我的問題:我想下面的代碼行負責驗證行: FormsAuthentication.Authenticate(txt_username.Text,txt_password.Text) 但是,現在我意識到這一行只是驗證用戶是否存在,如果是,密碼是否與它匹配。現在我知道它實際上並沒有將用戶登錄到網站。實際登錄的行是: FormsAuthentication.RedirectFromLoginPage(txt_username.Text,true); 但非常感謝您的幫助! :) – user960123

相關問題