我的网站文件夹中有静态文件,但需要检查每个文件的权限。 我决定使用 HttpModule 来实现此目的。
ASP.NET 接收所有 http 请求(我使用通配符映射)和
算法如下:
- HttpModule接收请求
- HttpModule 检查权限
- 如果访问被拒绝,则答案为“禁止”。如果一切正常,那么 httpModule 的方法就会返回。
- DefaultHttpHandler 自动用于处理静态文件请求
问题是DefaultHttpHandler不够有效(它没有使用文件缓存等)。但是 IIS(没有 ASP.NET)可以很好地处理静态文件。
我想要的只是让 IIS 在检查后提供静态文件。 有什么办法可以实现吗?
最佳答案
如果您使用的是 IIS7,那么是的,这非常简单。在集成模式下,所有请求都通过托管管道。让 IIS 提供文件服务,但添加 HttpHandler 来执行检查。或者您可以使用 ASP.NET 提供的授权方法之一。
关于asp.net - 在 ASP.NET 中通过 HttpModule 处理静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/989178/