在我的数据库中,我有一个表aspnet_membership。在应用程序中,我正在实现忘记密码功能。当用户使用此功能时,显然没有登录。因此,用户输入他的电子邮件地址,他记不起密码,在我的代码中,我试图通过执行以下代码来获得正确的MembershipUser对象:
var user = Membership.GetUser(username);
在测试时,我输入和现有的电子邮件地址,但函数GetUser仍然返回null。通过检查表的内容,我确信电子邮件地址是存在的.我不知道为什么我仍然得到返回的空值。有人能告诉我为什么在这种情况下GetUser返回null吗?
发布于 2014-12-16 15:24:33
因为用户名实际上并不存储在aspnet_membership表中(假设默认实现)-用户名在aspnet_users
中。
我试着做以下工作,看看你是否得到了结果:
declare @email nvarchar(50)
set @email = N'whateveremailyouarehavingproblemswith'
select *
from aspnet_membership m
inner join aspnet_users u on m.userId = u.userId
where m.email = @email
and u.username = @email
如果从这个查询中没有返回任何内容,那么您的用户名和电子邮件就不匹配了,或者该用户确实不存在。
https://stackoverflow.com/questions/27507730
复制相似问题