ASP.NET中HTML页面的访问验证设置方法
ASP.NET中的HTML页面访问验证设置
在ASP.NET应用中,我们常常需要设置页面的访问验证以确保数据的安全。许多开发者可能会遇到一个棘手的问题:静态HTML文件(如html、图像文件、文本文件等)的访问验证设置似乎并不起作用,即使这些文件被放置在需要验证的文件夹下,匿名用户依然可以访问。这是因为IIS在处理这些请求时,并未将任务转交给ASP.NET处理,导致ASP.NET的权限验证功能无法生效。换句话说,这些文件并不在ASP.NET的“管辖范围内”。
那么,如何将这些静态HTML文件也纳入ASP.NET的管辖范围呢?我们可以采取以下方法。
方法一:改变文件后缀。将HTML文件的后缀改为ASPX,这样,ASP.NET就能识别并处理这些文件,进行必要的权限验证。虽然这种方法简单实用,但并不正规。
方法二:针对IIS进行设置。让IIS将HTML文件的处理权转交给ASP.NET。具体步骤如下:
1. 打开IIS,找到需要设置的ASP.NET应用程序,并打开其属性对话框。
2. 在“虚拟目录”选项卡中找到并点击“应用程序设置”,然后点击“设置”按钮。
3. 在弹出的对话框中,找到并添加对.htm后缀的处理程序设置,可以参照.aspx的设置。
设置好之后,访问位于需要验证的目录下的HTML文件,系统会提示用户登录,这说明访问验证已经生效。这只是第一步,因为在登录后,用户可能会遇到无法正确显示HTML文件的问题。这是因为HttpHandler的问题,即对于ASP.NET来说,这相当于启用了一种新的文件类型,但并没有相应的处理程序。我们还需要修改web.config文件,注册一个新的处理程序,对于HTML文件,我们可以使用ASPX文件的处理程序。修改后的web.config设置如下:
```xml
...
...
...
```
即使进行了上述设置,仍然可能出现编译错误,因为缺少对HTML文件的相应编译程序。我们需要再次修改web.config文件:
```xml
...
...
```
完成这些设置后,当我们再次访问这个HTML文件时,它应该需要进行身份验证,并且能够正常显示。这个问题的核心在于对HttpHandler的理解。据说在IIS7中,只需将应用程序放在模式为Integrated的应用程序池中,就可以轻松解决这一问题。
如果不是有特殊要求或者必须使用HTML静态页面,我建议将HTML转换为ASPX页面。这样,客户在部署系统时不需要进行过多的配置,避免了可能的困扰。转换过程也相对简单,能够减少开发过程中的复杂性。
编程语言
- ASP.NET中HTML页面的访问验证设置方法
- yii2局部关闭(开启)csrf的验证的实例代码
- ASP关于编码的几个有用的函数小结(utf8)
- php缓冲输出实例分析
- 动态CSS,换肤技术
- JQuery工具函数汇总
- Git创建子分支,合并分支并提交
- 漂流瓶推送需求的逻辑实现代码
- MySQL横纵表相互转化操作实现方法
- JS实现单击输入框弹出选择框效果完整实例
- SQL Server如何保证可空字段中非空值唯一
- Vue2.x中的父组件传递数据至子组件的方法
- AngularJS 中的数据源的循环输出
- php判断手机浏览还是web浏览,并执行相应的动作简
- jQuery实现带滚动线条导航效果的方法
- jQuery实现鼠标经过时出现隐藏层文字链接的方法