Пользователь существует в таблице aspnet_membership, но getUser по-прежнему возвращает ноль

1

В моей базе данных у меня есть таблица aspnet_membership. В приложении я реализую функцию забытого пароля. Когда пользователь использует эту функцию, он, очевидно, не вошел в систему. Таким образом, пользователь вводит свой адрес электронной почты, о котором он не может запомнить пароль, и в моем коде я пытаюсь получить правильный объект MembershipUser, выполнив эту строку код:

var user = Membership.GetUser(username);

Во время тестирования я ввожу и существующий адрес электронной почты, но функция GetUser по-прежнему возвращает null. Я уверен, что адрес электронной почты существует, проверяя содержимое таблицы. Я не могу понять, в чем причина, почему я все еще получаю возвращаемое значение null. Может ли кто-нибудь сказать мне, почему GetUser возвращает null в этом сценарии?

  • 1
    Вы ссылаетесь на адрес электронной почты несколько раз, но функция GetUser ожидает имя пользователя. Являются ли эти два одинаковыми в вашей системе?
  • 0
    да, имя пользователя = адрес электронной почты в этом приложении
Теги:
asp.net-membership

1 ответ

0
Лучший ответ

Поскольку имя пользователя фактически не хранится в таблице 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

если ничто не возвращается из этого запроса, то либо ваши имена пользователей, и электронные письма не совпадают, или что пользователь действительно не существует.

  • 0
    спасибо, я не думал об aspnet_users. Там имя пользователя не было известно, поэтому в этом случае не странно, что метод возвратил ноль.
  • 0
    У меня такая же проблема, но в моем случае и членство, и пользователь существуют, и он по-прежнему возвращает ноль. Другие имена пользователей работают нормально, только этот.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню