У меня проблема, которую я не могу понять. Надеюсь, кто-нибудь может указать мне правильное направление или дать мне другие идеи для изучения. Сейчас я не буду предоставлять много кода, потому что, честно говоря, я не думаю, что это проблема кодирования.
Во-первых, у меня есть веб-приложение ASP.NET 3.5. Я использую библиотеки членства ASP.NET для моей аутентификации. Данные находятся в базе данных SQL Server 2005.
Мое приложение позволяет пользователю заполнить запрос, который сохраняется в базе данных. Страница для заполнения запроса находится в подпапке, содержащей следующий файл web.config (я хочу, чтобы пользователи проходили аутентификацию до того, как они выполнят запрос):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
Для заполнения запроса пользователю необходимо войти в систему или создать новую учетную запись. Когда они отправляют запрос, они получают подтверждение по электронной почте, что оно было отправлено. Адрес получателя этого электронного письма проверяется с использованием:
Membership.GetUser().Email
Пока все это кажется довольно элементарным и работает без проблем. Однако я только что получил несколько звонков от пользователей пользователей, которые заполнили запрос и получили электронное письмо, но запрос не был найден в системе. Я попросил их переслать мне письма с подтверждением, чтобы я мог просмотреть адрес получателя и найти пользователя в таблицах членства ASP.NET. Однако я не смог найти пользователя по электронной почте и не смог найти никаких следов Запроса в базе данных, когда мне сообщили подробности их ввода.
Я не предоставил пользователям способ удалить свои учетные записи или удалить запрос. Нет способа изменить адрес электронной почты или редактировать соответствующие данные. База данных довольно заблокирована, все запросы выполняются через хранимые процедуры.
Теперь мой вопрос: как, черт возьми, это возможно? Пользователь должен пройти проверку подлинности, чтобы заполнить запрос, и у меня есть электронное письмо с подтверждением, которое я не могу найти в системе. Адрес электронной почты собирается с использованием вышеупомянутого метода, который, по моему мнению, должен был существовать в базе данных с указанным адресом электронной почты одновременно.
Я действительно понятия не имею, куда идти дальше. У кого-нибудь есть идеи, что проверить? Буду признателен за любые советы, поскольку я в тупике, и при необходимости могу предоставить любую дополнительную информацию.
Заранее спасибо!