在ASP.NET Core中的.HTML文件的安全请求



我有一个用ASP.NET Core编写的Web应用程序。通过检查会话是否包含一个从Web服务中获得的JSON对象来完成身份验证。(使用公共/私钥等)

在此JSON对象内部是一个与Web根文件夹下方的物理文件夹相对应的数字。

因此,当用户访问此文件夹中的文件时,应检查是否允许使用。实际上,此文件夹中有一个整个静态网站,因此必须检查到.html文件的每个请求。

我想这可以使用一些自定义中间件完成,但我不确定从哪里开始。

有人知道如何完成此操作吗?

唯一真正的方法是通过授权的操作代理HTML文件。例如。您不想直接链接到foo.html,而是要使用/proxy?file=foo.html之类的东西,其中/proxy将是检查用户是否实际授权查看foo.html的操作。

文档中提出了类似的方法:

静态文件中间件不提供授权检查。它提供的任何文件,包括wwwroot下的文件,都可以公开访问。根据授权提供文件:

  • 将它们存储在wwwroot之外,并且可以访问静态文件中间件的任何目录。

  • 通过采用授权的操作方法为他们服务。返回filesult对象:

public IActionResult BannerImage()
{
    var file = Path.Combine(Directory.GetCurrentDirectory(), 
                            "MyStaticFiles", "images", "banner1.svg");
    return PhysicalFile(file, "image/svg+xml");
}

相关内容

  • 没有找到相关文章

最新更新