繁体   English   中英

用户存在于aspnet_membership表中,但getUser仍返回null

[英]User exists in aspnet_membership table but getUser still returns null

在我的数据库中,我有表aspnet_membership。 在应用程序中,我正在实现忘记密码功能。 当用户使用此功能时,显然他没有登录。因此,用户输入了自己的电子邮件地址,但他忘记了密码,因此在我的代码中,我尝试通过执行以下行来获取正确的MembershipUser对象码:

var user = Membership.GetUser(username);

在测试时,我输入了现有的电子邮件地址,但函数GetUser仍返回null。 通过检查表的内容,我确定电子邮件地址存在。 我不知道是什么原因导致我仍然返回空值。 谁能告诉我为什么在这种情况下GetUser返回null?

因为用户名实际上没有存储在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

如果此查询未返回任何内容,则说明您的用户名和电子邮件地址不匹配,或者该用户确实不存在。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM