1

我目前正在使用 MVC4。

  • 我的项目中有一个文件夹,其中包含文件(图像、doc 和 pdf 文件)。
  • 我有一个数据库,其中包含有权访问每个文件的用户列表(.net 会员 guid)。

我目前正在研究什么,我在问你建议,因为我从未在 MVC 上做过:

关于如何捕获文件的http请求然后决定运行时用户是否有权访问的任何提示?是否有任何类型的 http 处理程序可以让我在 MVC 上做到这一点?任何其他想法或提示?

提前致谢!..

即插即用

4

1 回答 1

1

我会创建一个新的FileAuthorizeAttribute并装饰一个新的控制器方法。

public class FileAuthorizeAttribute: AuthorizeAttribute
{
    protected override bool IsAuthorized(HttpActionContext actionContext)
    {
        if (base.IsAuthorized(actionContext))
        {
            // check if guid is in your database
        }

        return false;
    }

    public override void OnAuthorization(HttpActionContext actionContext)
    {
        base.OnAuthorization(actionContext);
    }
}

public class FileController : Controller
{
    [FileAuthorize]
    public FileResult Load(string fileName)
    {
        //return File(fileName, contentType);
    }
}
于 2012-11-13T19:08:12.687 回答