Rails限制对PDF的访问

时间:2014-08-04 16:00:49

标签: ruby-on-rails ruby pdf restrict

我有一个将pdf上传到公共目录的应用。大多数情况下,这些将通过链接访问,但每个pdf将有一个允许的用户列表,谁可以查看这些pdf(他们的简历,所以不是每个人都应该能够查看学生的个人信息)

简历目前存储在/public/resumes/:id/name.pdf下,使用paperclip gem进行上传和删除。

这些链接工作正常并带您进入简历,对于无法访问它们的人来说通常无法看到,但是,如果您知道pdf的直接网址,则可以在无论您是否已登录,都可以使用它。

在展示之前我如何进行pdf检查?

谢谢!

1 个答案:

答案 0 :(得分:0)

我已链接到下载操作并使用send_file

进行检查
def download
  @resume = resume.find(params[:id])
  if current_user and @resume.user_ids.include?(current_user.id)
    send_file @resume.pdf
  else
    redirect_to root_url, notice: 'You don't have required access'
  end
end