【发布时间】:2011-02-08 07:43:12
【问题描述】:
我目前对 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 的任何想法或提示?
【问题讨论】:
-
整个序列是否包含单个 http 请求?您可以尝试在两个单独的请求过程中执行此操作。如何创建一次“管理员”,Session.Abandon(),重新加载页面,然后查看是否能够进行身份验证。
-
嗯,不。即使我尝试在单独的页面上进行身份验证也不行。问题必须来自密码部分,对吗?我的意思是,如果用户存在,还会出现什么问题?
标签: c# asp.net asp.net-membership forms-authentication