2012-07-20 80 views
0

我已经创建了账单,应该可以从管理员打开,但不能像普通用户那样打开。此法案pdf将在app/assets/pdfs中的某个业务流程之后创建。是否可以通过业务逻辑来限制对资产的访问?

assets_pdf_url if user_signed_in? 

是否有可能通过某些规则限制特定资产?

+0

您正在使用Apache或IIS?这可以在网络服务器级别 – 2012-07-20 19:42:00

+0

apache配置...但只有轨道知道用户权限 – guefi 2012-07-20 19:59:52

回答

1

商店在某些文件夹中的受限制的资产公用文件夹的外面,所以它们不能被访问只是通过访问一个网址,然后创建一个使用由send_file或SEND_DATA动作。这样你就可以用你想要的任何逻辑来包装它。

# in controller 
def show 
    @bill = Bill.find(params[:id]) 
    if user_signed_in? 
    send_file Rails.root.join('bill_pdfs',"#{@bill.id}.pdf") 
    else 
    redirect_to '/', :error => "Only logged in users may download" 
    end 
end 
+0

这是...谢谢! – guefi 2012-07-21 08:13:07

相关问题