如何限制对服务器上的pdf文件的访问?

Jef*_*ngh 5 pdf asp.net-mvc

我正在使用ASP.Net MVC.我使用ASP Forms身份验证限制访问该网站.但是,网页包含指向服务器上的pdf文件的链接,我也希望受到保护.

例如,用户可以浏览到foo.com和foo.com/account/logon.一旦他们登录,他们可以访问foo.com/category/bar,它在bar.aspx中显示视图.在该视图上是foo.com/files/theta.pdf的链接,它在浏览器中加载就好了.但是,除非用户已经过身份验证,否则我不希望从浏览器访问foo.com/files/theta.pdf.

如何在没有首先通过foo.com/account/logon进行身份验证的情况下,如何阻止用户直接从浏览器访问foo.com/files/theta.pdf?

Rob*_*vey 8

通过控制器传递请求,并返回一个FileResult.您可以通过使用Authorize属性或通过检查控制器方法内的权限,将所需的任何安全性应用于控制器方法.

这个问题上有一个这样的代码示例,它说明了如何返回图像文件.只需返回您的pdf而不是图像文件,并将其application/pdf用作MIME类型.