2012-08-23 35 views
7

我一直在學習有關MembershipProvider類,我認爲Membership.ValidateUser()方法本來是要用來登錄的用戶。什麼是Membership.ValidateUser()的目的

不過,我剛剛學會有一個FormsAuthentication.Authenticate()

ValidateUser()Membership以內的用途是什麼?

回答

10

簡而言之,有時候您可能想要簡單地驗證用戶是否是他們所說的用戶,而無需持續任何時間長度的驗證Cookie。

+0

因此,我應該在FormsAuthentication.Authenticate()的覆蓋內使用MembershipProvider.ValidateUser()嗎? – Luke

+0

@Coulton,'Authenticate()'方法在本質上會做同樣的事情,所以沒有必要重寫。如果你有多個,使用'ValidateUser()'方法理論上允許你選擇你的提供者。 'Authenticate()'方法只使用web.config中配置的方法。 –

+1

我剛剛注意到[這裏](http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.authenticate.aspx)它說Authenticate()已經過時了,'推薦另一種方法是使用Membership API,例如Membership.ValidateUser。有關詳細信息,請參閱http://go.microsoft.com/fwlink/?LinkId = 252463.'。所以我應該使用Membership.ValidateUser()並在該方法中執行我的表單身份驗證 – Luke

1

它只檢查您的數據源(數據庫),如果數據庫中存在傳遞的用戶名和密碼並匹配並返回true Check MSDN。如果它們不匹配,則返回false

public static bool ValidateUser(string username, string password)