Рейтинг:
6
njammy
Ваш вопрос помечен ASP.NET но не уверен, в каких рамках.
Так, например,для веб-форм создайте страницу или обработчик ASHX, чтобы получить запрос от щелчка URL-адреса электронной почты.
Или...для MVC реализовать веб-API или контроллер для получения запроса.
Возможно, вы можете передать данные с помощью строки запроса в url-адресе, чтобы улучшить процесс для этого пользователя, например, для отслеживания клика пользователя. (Возможно, вы захотите реализовать код, чтобы деактивировать ссылку от повторного нажатия, как только пользователь нажмет на нее в первый раз и процесс завершится. Это ваш выбор).
Затем возьмите запрос и подтвердите его. Затем перенаправьте пользователя на страницу входа в систему.
Как только пользователь будет проверен, перенаправьте его на страницу загрузки.
sudevsu
Рамки ASP.NET форм 3.5
njammy
Ладно, надеюсь, это поможет. Ответьте в любое время, как только вы начнете свою разработку и вам понадобится любая техническая помощь в разработке.
sudevsu
чтобы уточнить это, я хочу сделать...
Шаг 1: отправьте URL-адрес пользователям по электронной почте. Также отправьте уникальный пароль.
Шаг 2: пользователь при нажатии на ссылку запрашивает пароль, отправленный по электронной почте.
Шаг 3: Если это действительно так , перенаправьте на другую страницу для загрузки файла.
Если это неверно, запросите пароль с той же страницы. Не перенаправляйте до тех пор, пока это не будет действительно.
Шаг 4: загрузите файл.
Теперь я уже сделал здесь несколько вещей. Но я не понимаю, как я могу сделать url действительным только в течение 24 часов.
Как узнать, что этот пароль предназначен для этой ссылки/пользователя ?
В принципе, у меня есть части всего этого запрограммированного, но мне не хватает связей между ними. Я не женюсь на них всех должным образом. Дайте мне знать, если у вас есть какие-то мысли по этому поводу. Спасибо нямми
njammy
На мой взгляд, попросив пользователя открыть и отправить электронную почту, нажмите на ссылку, а затем скопируйте и вставьте пароль из (того же? электронная почта?) - это слишком много шагов. Что бы я сделал, так это отправил пользователю электронное письмо со ссылкой с каким-то встроенным" кодом доступа", например
http://www.web.site/upload?key=SDFSASDNU23HD783.
Таким образом, идея заключается в этой части url-адреса "?key=SDFSASDNU23HD783". Предположим, что это зашифрованный текст из исходной строки: "id:1, key: 12345", где "id" - это Ваш идентификатор пользователя, а "key" - Ваш уникальный сгенерированный код доступа. Предположим, мы преобразуем строку id:1, ключ: 12345 в base64 и получаем "SDFSASDNU23HD783" (не реалистично, но вы поняли идею). Это может быть недостаточно безопасно, но это зависит от того, насколько безопасно вы хотите, чтобы это было так, поэтому на самом деле может быть лучше, чтобы пользователь скопировал и вставил код.
Теперь вы можете сохранить это в новой таблице базы данных вместе с вашим идентификатором пользователя и столбцом под названием "срок действия" (DateTime). Когда вы генерируете код, установите срок действия.
В моем примере url-адреса, когда страница загрузки получает запрос, сначала запросите базу данных, чтобы узнать, истекла ли часть кода доступа строки запроса или нет. если нет, аутентифицируйте пользователя, если пользователь не прав, отошлите его и обновите значение таблицы базы данных кода доступа как VOID, потому что кто-то пытался попытаться получить доступ с неправильным сочетанием код/имя пользователя.
Есть смысл?
sudevsu
В этом есть смысл... Меня беспокоят вопросы безопасности. Однако позвольте мне попробовать
sudevsu
Еще раз спасибо @NJammy