Аутентифицировать пользователя по электронной почте - PullRequest
0 голосов
/ 08 июня 2011

Я использую рельсы 3 и разрабатываю.Я хотел бы встроить следующий рабочий процесс.

  1. Статья подана на сайт, который требует одобрения администратора.
  2. Сайт отправляет администратору сайта электронное письмо со ссылкой настраница, где администратор может просмотреть, отредактировать и одобрить статьюне проходит проверку подлинности.

    Есть ли какая-нибудь ссылка, которая отправляется в электронном письме, может действовать как проверка подлинности для конкретного администратора?

Ответы [ 3 ]

0 голосов
/ 08 июня 2011

Вы хотите изучить аутентификацию токена для устройства. Это позволяет использовать одноразовый ключ для авторизации доступа пользователя через параметр URL.

Подробнее смотрите здесь. http://zyphmartin.com/blog/simple-auth-token-example-with-devise

Также вы можете просто создать токен аутентификации для каждого ресурса и сохранить значение аутентификации в базе данных. При переходе на URL-адрес утверждения для ресурса передайте идентификатор ресурса и токен аутентификации. Это было бы более безопасно, чем войти в систему как администратор.

Если вам нужна дополнительная помощь, дайте мне знать.

0 голосов
/ 08 июня 2011

Вы можете добавить действие к контроллеру (на который будет указывать ваш URL), а затем исключить его из проверки подлинности, добавив его в свой контроллер:

before_filter :authenticate_user!, :except => [:review_article]

Вы можете включить какой-то ключ в URL (например, MD5 статьи, как предложил Иан) и проверить это в review_article.

0 голосов
/ 08 июня 2011

Вы можете реализовать это как пользовательское действие контроллера.

Вы можете отключить разработку аутентификации для данного действия в контроллере, добавив ключ :except => :custom_action к вашему вызову: before_filter.

Вы можете включить строку запроса в ссылку с article_id и admin_id. Затем в пользовательском действии контроллера вы проверите, что эта статья еще не модерировалась, с помощью дополнительного поля в таблице статей. Если бы это было так, вы могли бы внести залог. Если этого не произошло, вы можете позволить модератору одобрить или отклонить его, установите для модерируемого флага значение true и поблагодарить модератора за ее работу.

Если вы хотите быть действительно хитрым, вы можете сделать так, чтобы URL включал в себя MD5-хэшированный идентификатор, который вы могли бы использовать в качестве ключа вместо идентификатора статьи. Вы можете сохранить это в дополнительном поле в модели товара. Это уменьшит вероятность подделки во время короткого окна, когда оно будет умеренным.

Иэн.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...