Membership.ValidateUser()的目的是什么?

7
我一直在学习关于 MembershipProvider 类的知识,并且我认为 Membership.ValidateUser() 方法应该用于登录用户。
然而,我刚刚了解到有一个 FormsAuthentication.Authenticate() 方法。
那么,在 Membership 中 ValidateUser() 方法的目的是什么?
2个回答

10
简而言之,有时您可能只想验证用户是他们所说的那个人,而无需在任何时间段内保留身份验证 cookie。

那我应该在 FormsAuthentication.Authenticate() 的重写中使用 MembershipProvider.ValidateUser() 吗? - Luke
@Coulton,在这种情况下,Authenticate()方法基本上会执行相同的操作,因此不需要覆盖。如果您有多个提供程序,则使用ValidateUser()方法理论上允许您选择提供程序。Authenticate()方法只使用在web.config中配置的一个提供程序。 - Grant H.
1
我刚刚注意到这里上说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)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接