2012-03-29 3 views
0

Я ищу, чтобы создать функцию «сбросить пароль» в моем приложении CakePHP и прочитать по сети. Я решил: введите тип пользователя в свой адрес электронной почты, отправьте им электронное письмо со ссылкой на http://www.mysite.com/users/reset_password/generated_uuid_that_expires_in_24_hours. Это представит форму, которая позволяет им изменять свой пароль. Очевидно, что икота заключается в том, что я не знаю, как зарегистрировать пользователя с временным паролем. Правильно ли я подхожу к этому? Я думаю, что URL-адрес, который я им отправлял, будет хешированной версией их электронной почты плюс uuid для использования в качестве временного пароля, и что я буду выполнять поиск идентификатора пользователя на основе электронной почты, которая поступает в URL-адрес ... но тем не менее, я бы не знал, как их вручную регистрировать, чтобы они могли изменить свой пароль.«временные» учетные данные при сбросе пароля?

+2

Почему пользователю необходимо войти в систему, чтобы изменить пароль? Я не могу придумать много систем, которые это делают, - если вы забудете это, вы заблокированы, пока не выполните процесс сброса, не введите новый пароль и не войдете в систему. – Ross

+0

OIC. Мне определенно нравится этот подход. Я мог бы позволить им сменить свой пароль, а затем тихо войти в него после их удобства, не так ли? – huzzah

ответ

1

Я использую сеансовый подход. после использования маркеров с электронной почты пользователь получает

Tmp.User.id (as opposed to Auth.User.id) 

в сессии, которая позволит ему изменить пароль. после этого он снова будет удален из сеанса.

+0

Для всех целей и задач этот пользователь будет полностью зарегистрирован, как если бы я использовал AuthComponent? Насколько хорошо это работает, если Acl установлен в приложение? – huzzah

+0

вы не позволяете им вмешиваться! ваше действие открыто (в Auth-> allow), и вы имеете дело с логикой в ​​этом действии контроллера (запретите, если ключ Tmp.User.id в сеансе) вручную. – mark

+0

Хорошо, я посмотрю. Поскольку я использовал Auth, мне не приходилось использовать сеансы до этого момента, так что должно быть интересно! Спасибо (BTW, ваш помощник по карте Google пинает серьезную задницу !!!) – huzzah

Смежные вопросы