jlp*_*jlp 4 asp.net authentication iis-7 iis-7.5
我有ASP.NET应用程序与表单身份验证.它运行良好,但我有一个目录与olly .txt文件(没有aspx文件)我希望用户不访问(或只登录用户).
我将web.config添加到此目录:
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
Run Code Online (Sandbox Code Playgroud)
编辑:
这仅适用于.aspx文件.它不适用于.txt文件和类似文件.用户无法浏览此目录或子目录,但知道.txt文件名可以访问它.
我尝试IIS6和IIS 7.5.在IIS6上.txt文件也受到限制,但在IIS 7.5上并非如此,可能是IIS配置问题.
您的问题取决于您使用的Web服务器.ASP.NET授权仅适用于ASP.NET处理的文件类型.如果您有IIS 5或6,对于.txt文件甚至.jpg,.gif和纯.html文件通常都不是这样,但仅适用于aspx,asmx等.
如果你有IIS7和集成模式没问题,因为ASP.NET是集成的,将为每种类型的文件调用.因此,如果您有IIS5或6,则必须注册mime类型,例如aspnet.isapi也会调用.txt文件.
更新:配置
<deny users="*">
Run Code Online (Sandbox Code Playgroud)
锁定所有用户.它只能与允许组合使用,例如
<allow roles="administrators" />
<deny users="*">
Run Code Online (Sandbox Code Playgroud)
像这样所有用户,但管理员将被锁定.如果用户已通过身份验证但未经过管理员身份验证,则会将其重定向到登录页面.
另一种选择是仅锁定匿名用户:
<deny users="?">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4266 次 |
| 最近记录: |