2009-07-13 3 views
0

У меня есть следующая успокоительная структура:Каков спокойный способ реализовать забытую функцию пароля?

  • Моя страница Войти использует сессию/новое действие
  • Моей страницы Регистрации пользователей/новое действие
  • Моей страница выхода использует сеанс/уничтожить Действие
  • Мой процесс использует регистр пользователей/создать действие

мне нужно больше 3 действия для:

  • Я забыл свой пароль страницу
  • Start забытое действие пароля (отправка электронной почты)
  • Сброс пароля на основе маркера

Где эти 3 действия вписываются в успокоительный мир?

Для уточнения:

Я знаю, что могу создавать любые действия на моих существующих сеансов и пользователей контроллеров (. Например reset_password получить действие или start_reset_password после действия) это просто не реально сидеть прямо, я, кажется, Я пытаюсь заставить эти контроллеры делать слишком много работы.

ответ

0

я в конечном итоге создание нового контроллера под названием forgotten_passwords, чтобы контролировать процесс

  • forgotten_passwords - новые: карты на Я забыл страницу пароля
  • forgotten_passwords - создать: карты, чтобы начать забытое действия пароля (отправить электронная почта с маркером)
  • forgotten_passwords - шоу: карты до конца процесса (страница, на которой пользователь видит, что ее новый пароль)

I Я очень доволен этим дизайном. Я думаю, что он призвал нового контроллера.

+0

Это немного смешно. Забытая функция поиска пароля больше подходит для RPC, а не для REST. Так что не волнуйся об обучении. – aehlke

2

ОТДЫХ нет черной магии. Выясните, какие ваши технические цели для этих страниц, затем выберите правильные глаголы, чтобы пойти с ними.

Я забыл свою страницу с паролем: по существу статическая форма, не так ли? Вы хотите, чтобы это было возможно. ПОЛУЧИТЕ любой URL-адрес, который вы хотите.

Отправить электронное письмо: дорогостоящее действие, которое вы не хотите повторять, и вы хотите выполнять каждый раз, когда пользователь запрашивает его: POST или PUT по любому URL-адресу, который вы хотите. Черт, вы можете сделать это так же, как и выше, если захотите, но я не вижу особой насущной необходимости.

Сбросить пароль на основе токена: я бы подумал о том, чтобы реализовать это как логин-через-токен, но если вы собираетесь делать это по-своему, то это имеет последствия на стороне сервера и, следовательно, вероятно, должно быть POST или PUT.

+0

Я предполагаю, что между битками и любыми глаголами и действиями на ваших контроллерах есть что-то, что вам нужно для того, чтобы все было сделано, и держать свои контроллеры простыми и иметь только 7 волшебных глаголов. –

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