我需要保护整个静态 HTML 文件文件夹。目的是用户无法访问这些文件,除非他们经过身份验证并具有必要的角色。
我们已经使用 OWIN 设置了基于 cookie 的身份验证,但无论我尝试什么,我似乎都无法找出正确的更改组合以要求对文件夹进行身份验证。
第一个问题是 IIS 完全跳过了 ASP.NET 而只是提供文件。我认为可以通过将 runAllManagedModulesForAllRequests 设置为 true 来解决这个问题。但是我该去哪里呢?
我已经尝试在 Web.config 中填充元素以要求正确的角色,但它只会导致每个请求都被拒绝(大概是因为它没有检查正确的 cookie 或其他东西)。
我花了一整天的时间在这上面,我快要疯了。
有没有人解决过这个问题?
最佳答案
由 MVC/OWIN 提供服务。
: 监听/映射静态文件所在的路由
删除默认的静态文件处理程序将此添加到 web.config 文件:
<configuration>
<system.webServer>
<handlers>
<remove name="StaticFile" />
</handlers>
</system.webServer>
</configuration>
关于asp.net - 在 ASP.NET MVC 中使用/Owin 授权静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26109656/