FormsAuthentication.Authenticate无法进行身份验证

snw*_*nwr 6 c# asp.net forms-authentication asp.net-membership

我目前在ASP.Net身份验证方面遇到了一个奇怪的问题.请考虑以下两行:

MembershipCreateStatus ct = new MembershipCreateStatus();
Membership.CreateUser("admin", "mypassword", "test@gmail.com", "1", "1", true,  out ct);
Run Code Online (Sandbox Code Playgroud)

这会在我的数据库中注册我的用户.我已经证实了这一点.但是,当我在之后立即运行时:

FormsAuthentication.Authenticate("admin", "mypassword");
Run Code Online (Sandbox Code Playgroud)

身份验证失败.奇怪的是我知道用户确实存在于db中,如果我运行则进一步确认

MembershipUserCollection uc =  Membership.FindUsersByName("admin");
Run Code Online (Sandbox Code Playgroud)

和uc确实拥有我的管理员用户所有正确的信息.有关为什么Authenticate会返回false的任何想法或提示?

小智 4

不久前我学到了一些东西——在 MSDN 上查找信息时总是阅读备注部分。您会惊讶地发现,它通常包含最重要的信息,如果不加以覆盖,可能会让您陷入困境几个小时,有时甚至几天。请参阅此处有关该方法的部分。然后调用ValidateUser进行authorze,这与authenticate不同。看看这里