|
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
|
|
Востановление пароля юзера08.12.2016, 15:06. Показов 3686. Ответов 15
Метки нет (Все метки)
Добрый день.
SpringMVC, Hibernate и тд. Пытаюсь сделать восстановление пароля зарегистрированного юзера. В базе хранится пароль в виде хеша $2a$10$/74cmg7qU9RWH/zHtmMqUebKk9XV60ZlciSa7m733ADkoDrYtOy.2 Т.е. как я понял отправить его пользователю не могу, т.к. не могу перевести обратно в нормальный вид. Поэтому на запрос от юзера на смену пароля отправляю ему на почту сылку типа ttp://localhost:8080/acceptRememberPass?pass=$2a$10$/74cmg7qU9RWH/zHtmMqUebKk9XV60ZlciSa7m733ADkoDrYtOy.2&email=mail@mail.ru Пройдя по которой он попадает в контролер, где я проверяю на соответствие в базе данному емейлу пароля. Если все ок, то выдаю страницу JSP на смену. Правильно ли я делаю? Как лучше и правильно сделать?
0
|
|
| 08.12.2016, 15:06 | |
|
Ответы с готовыми решениями:
15
VBulletin Востановление пароля юзера востановление пароля по мылу не проходит Востановление забытого пароля или... |
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 08.12.2016, 15:34 | ||
|
http://localhost:8080/resetPas... jsdf234lkj токен должен быть действительным короткое время. После того как на jsp странице юзер введет новый пароль, шлите запрос на сервер с тем же токеном и выставляйте там новый пароль. После этого инвалидируйте\стирайте токен
1
|
||
|
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
|
|||||||||||
| 10.12.2016, 13:41 [ТС] | |||||||||||
|
чет не очень понимаю как все это делается...
как я понял, поправьте если что... 1) нужно создать репозиторий токенов, я делаю бин и в базе соответсвующую таблицу
*получаю пользователя по емейлу из базы. *для этого пользователя создаю в токен
4) на контролере http://localhost:8080/resetPassword? ловлю токен, идентифицирую пользователя и выдаю страницу для смены пароля так?
0
|
|||||||||||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||||
| 10.12.2016, 14:09 | ||||
|
0
|
||||
|
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
|
|
| 10.12.2016, 15:04 [ТС] | |
|
я думал это как то связано со спринговcким remember-me. Подскажи, плиз, что почитать?
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 10.12.2016, 15:54 | |
|
werrt, не связан. Читать хз о чем там читать. Просто пойдите и посмотрите как везде работает сброс пароля.
0
|
|
|
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
|
|
| 10.12.2016, 16:02 [ТС] | |
|
что то типа ?
http://www.liveinternet.ru/com... 386074372/
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 10.12.2016, 18:12 | |
|
werrt, а вы как думаете? В этой статье есть хоть слово о несете пароля?
0
|
|
|
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
|
|
| 11.12.2016, 19:43 | |
Сообщение было отмечено werrt как решение
Решение
мы делали так:
- делается отельная таблица типа (id пользователя, токен, дата создания) - был таск, который периодически чистил таблицу в соответствии со значением срока валидности токена - при запросе сброса пароля пользователю на мыло высылалась ссылка тапа .../resetPassword?token=... - на сервере по токену доставали запись из таблицы, проверяли время валидности и если все ок, то авторизовывали пользователя с ролью ROLE_RESET_PASSWORD, при этом пользователю доступна только страница сброса пароля, где он вводит новый и подтверждение - после того как пользователь сабмитит новый пароль с подтверждением делается запрос на api типа .../newPassword, который тоже доступен только для ROLE_RESET_PASSWORD - на сервере проверяется что пароль совпадает с подтверждением и пароль сохраняется для текущего пользователя - на последнем шаге делается автоматическая авторизация пользователя с его правами учетной записи
1
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 14.12.2016, 00:12 | |
|
werrt, шаг авторизации можете смело пропустить и открыть страницу для всех. Это никак не повлияет не защиту.
0
|
|
|
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
|
|||||||||||
| 14.12.2016, 01:21 [ТС] | |||||||||||
|
KEKCoGEN, ну на будущее всеже интересно, напримерп автоматическая авторизация по токену
![]() я пытаюсь сделать так:
------------------------------------------------------------------------------------------------------------ пытался делать как я понял фразу " посылайте сразу на страницу. Контроллер в данном случае ненужен. На контроллер посылайте сабмит формы смены пароля" по токену ....reset?token=dwkhddhwkdhwhdwodh/
Чет я запутался совсем
0
|
|||||||||||
|
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
|
||
| 14.12.2016, 09:12 | ||
|
werrt, делай как я описал, через временную авторизацию
0
|
||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 14.12.2016, 09:43 | |
|
0
|
|
|
4 / 4 / 4
Регистрация: 07.02.2008
Сообщений: 361
|
||||||
| 14.12.2016, 14:28 [ТС] | ||||||
|
путем подбора получилось
логинить пользователя так:userDetailsService- моя имплементация.
0
|
||||||
|
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
|
|
| 15.12.2016, 09:06 | |
|
да, только про роли не забывай
пользователю, авторизованному по токену, нужно ограничивать права только на смену пароля
1
|
|
| 15.12.2016, 09:06 | |
|
Помогаю со студенческими работами здесь
16
Восстановление пароля к QIP 2012
Насколько точно скрипт в примере определит IP адрес юзера, агент юзера? Загрузка изображения для профиля юзера в одном контроллере с загрузкой данных юзера Как добавить в DirectoryEdit1.Text путь к папке юзера, если имя юзера кириллицей? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|