Rails: ограниченный доступ к страницам для незарегистрированных пользователей - PullRequest
1 голос
/ 02 апреля 2019

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

Есть ли драгоценные камни для этого?(Я использую devise)

Первоначально я хотел создать дополнительную db-таблицу для хранения IP-адресов (с использованием метода request.remote_ip) для зрителей, которые не вошли в систему. Каждый раз, когда незарегистрированный зритель посещает сайт, приложение rails будетзапустить метод проверки, если его IP-адрес появлялся там 10 раз за последний день или нет.Это хорошее решение?

Rails ver: 5.2.1 Разработать ver: 4.2

1 Ответ

2 голосов
/ 02 апреля 2019

Проблема с использованием IP-адреса состоит в том, что у вас может быть много пользователей с одним IP-адресом, если они имеют общий IP-адрес, так что это не является хорошим решением для производства. Вместо этого вам, вероятно, следует использовать https://github.com/cbeer/devise-guests gem.

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

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