ruby-on-rails - Rails:未登录用户对页面的访问受限
问题描述
我想限制没有帐户的用户访问某些页面(在一个控制器下)。例如:未登录的用户每天可以查看这些页面 10 次。如果超过此数字,他将自动重定向到通知他每日限制并鼓励他注册帐户的页面。
有什么宝石可以完成吗?(我用设计)
我最初的想法是为未登录的观众建立一个额外的 db-table 存储 IP 地址(使用request.remote_ip
方法)。每次未登录的观众访问网站 rails 应用程序都会启动一个方法,检查他的 IP 是否在最后一天出现了 10 次或不。这是一个好的解决方案吗?
Rails 版本:5.2.1 设计版本:4.2
解决方案
使用 IP 地址的问题在于,如果他们在共享 IP 上,您可以在同一个 IP 地址上拥有多个用户,因此这对于生产来说不是一个好的解决方案。相反,您可能应该使用https://github.com/cbeer/devise-guests gem。
这里的方法是您仍然可以为未登录的用户创建用户会话。
推荐阅读
- java - 为什么 Mac OS 中 Netbeans 上的某些字体没有显示为选项?
- c# - 全局光标图标更改
- javascript - 如何在烧瓶模板中读取 json 列表
- java - 复制 javaws 应用程序以进行编辑
- python - 应用于熊猫数据框列的函数中缺少
- java - Java模块化项目中如何正确组织接口和实现?
- google-sheets - 谷歌表格计算和组合数据所需的公式
- javascript - 如何在没有chrome打印对话框的情况下直接打印HTML页面?
- matlab - 使用 regionprop 的 MaxFeretDiameter 值 - Matlab
- azure - Azure Function App 中用于身份验证的主机密钥