我设置了一个登录控件,以便在我的Web应用程序上使用,并且在验证用户时遇到问题。我在sql server 2008中使用另一个站点上的建议在我自己的数据库中创建了成员资格表。然后我选择使用表单身份验证并在WSAT中创建了两个用户,并认为这样可以正常工作。但它为所有用户返回false,包括我创建的两个用户。为什么会这样,我不确定,如果我使用sql数据库表,我该怎么做?
<authentication mode="Forms">
</authentication>
<authorization>
<allow users="boy"/>
<allow users="girl"/>
</authorization>
<roleManager enabled="true" />
登录后面的代码:
If Page.IsValid then
If username <>"" and password <>"" then
If FormsAuthentication.Authenticate(username,passwprd) = False then
Return false
else
response.redirect("~/default.aspx")
End If
End If
End If
答案 0 :(得分:2)
您需要配置web.config以使用MembershipProvider
。
查看here了解详情。您是否尝试使用SqlMembershipProvider
?
要使用MembershipProvider
进行身份验证,请使用Login
用户控件,或者您可以创建自己的用户控件并调用以下方法:
if (Membership.ValidateUser(username, password))
{
FormsAuthentication.SetAuthCookie(userName, createPersistentCookie);
FormsAuthentication.RedirectFromLoginPage(userName, createPersistentCookie);
}