我目前在ASP.Net身份验证方面遇到了一个奇怪的问题。 请考虑以下两行:
MembershipCreateStatus ct = new MembershipCreateStatus();
Membership.CreateUser("admin", "mypassword", "test@gmail.com", "1", "1", true, out ct);
这会在我的数据库中注册我的用户。我已经证实了这一点。 但是,当我在之后立即运行时:
FormsAuthentication.Authenticate("admin", "mypassword");
身份验证失败。奇怪的是,我知道用户确实存在于数据库中,如果我运行则进一步确认
MembershipUserCollection uc = Membership.FindUsersByName("admin");
和uc确实拥有管理员用户所有正确的信息。 有关为什么Authenticate会返回false的任何想法或提示?
答案 0 :(得分:4)
我刚刚学到了一些东西 - 在MSDN上查找信息时总是阅读备注部分。你会感到惊讶的是,它通常包含最重要的信息,如果没有涵盖,可能会有时陷入数小时。请参阅该方法的here部分。然后调用ValidateUser来授权哪个与身份验证不同。看看here。