ASP.NET MVC 3静态文件的简单场景授权

ahe*_*ick 4 asp.net security

假设我有一个非常简单的网站,我允许注册用户上传文件.我有用户"andrew",ID为1,用户为"matt",ID为2.

假设我想使用以下文件夹结构来组织上传的文件.

/Content/DocRepo/[[ID]]/files_live_here
Run Code Online (Sandbox Code Playgroud)

我正在使用表单身份验证,因此我可以使用web配置位置元素来防止任何未经授权的用户访问DocRepo,但是一旦"andrew"登录,阻止他访问"matt"文件的最简洁/最简单的方法是什么?

他不能只是将URL更改为 /Content/DocRepo/2/

And*_*ber 7

最简单的方法是不允许直接请求文件.阻止对files目录的请求,而是创建一个需要Auth的文件控制器,并确保用户可以访问他们请求的文件.

您可以使用子目录App_Data来存储文件,因为默认情况下,不能对其中包含的任何文件进行直接请求.