• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > ASP.NET中HTML页面的访问验证设置方法

ASP.NET中HTML页面的访问验证设置方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了html5 asp.net,html asp.net,页面跳转 asp.net,阐述asp.net页面模型,iis asp.net 设置等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

可能有很多朋友和我一样不会留意到这样的问题,在ASP.NET中,使用其自身提供的访问验证功能(表单验证、Passport 验证、Windows 验证),并不会对静态文件(如 html、图像文件、文本文件等)进行访问限制,即使这些文件置于需要验证后才能访问的文件夹下,匿名用户仍然可以访问到这些文件。这是因为静态文件默认是由 IIS 处理,IIS 在接收到对这些文件的请求后,并不会转交给 ASP.NET 处理,所以,在 ASP.NET 中的权限验证失去了作用。换句话说,这些文件不在ASP.NET 的管辖范围内。

那么,如何将这些文件置于 ASP.NET 的管辖范围内呢?以 html 文件为例,最简单的办法是将 html 文件的后缀改为 aspx,这个办法很简单,也算实用,但并不正规。另一种方法是针对 IIS 进行设置,让 IIS 将 html 文件的处理权转交给 ASP.NET。设置如下:

(1) 打开 IIS,找到需要设置的 ASP.NET 应用程序,打开属性对话框。

(2) 在“虚拟目录”选项卡中有一个“应用程序设置”,点击这里面的“设置”按钮,弹出新的对话框。

(3) 在“对应”选项卡中,点击“新增”按钮,增加 .htm 的后缀与处理程序的对应关系,具体设置可参照 .aspx 的设置。

设置好之后,再次访问位于需要验证的目录下的 html 文件,会转到登录页面提示用户登录,说明访问验证已经生效。但到此仍未完成,因为登录后会发现,htm 文件错误。这涉及到 HttpHandler 的问题,因为对于 ASP.NET 来说,这相当于启用了一种新的文件类型,但却没有相应的处理程序。所以,还需要改动 web.config 的设置,注册一个新的处理程序,对于 html 文件,我们可以使用 aspx 文件的处理程序,所以设置如下:

<system.web>
...
<httpHandlers>
...
<!-- 增加后缀为 htm 文件的处理程序,这里使用 aspx 文件的处理程序 -->
<add verb="*" path="*.htm" type="System.Web.UI.PageHandlerFactory"/>
</httpHandlers>
...
</system.web>
</div>

再次访问,这次是编译错误,因为缺少对 htm 文件的相应编译程序,再修改web.config:

<system.web>
<compilation>
...
<!-- 设置后缀为 htm 的文件的编译程序,这里使用 aspx 文件的编译程序 -->
<buildPRoviders>
<add extension=".htm" type="System.Web.Compilation.PageBuildProvider"/>
</buildProviders>
</compilation>
...
</system.web>
</div>

这回再访问这个 html 文件,它正如我们期望的一样,需要进行身份验证,并且也能够正常显示。其实这个问题的核心在于对 HttpHandler 的理解。另外,据说在 IIS7 中,只要把应用程序放在模式为Integrated 的应用程序池中,就可以解决这个问题。

如果不是特殊要求或者非要使用HTML静态页面时,个人觉得还是把html转换成aspx比较简单。客户部署不需要作过多的配置,有些客户就很烦部署系统要作配置,所以还是简单为好。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • asp.net动态生成HTML表单的方法
  • 解读ASP.NET 5 & MVC6系列教程(17):MVC中的其他新特性
  • 解读ASP.NET 5 & MVC6系列教程(16):自定义View视图文件查找逻辑
  • 解读ASP.NET 5 & MVC6系列教程(15):MvcOptions配置
  • 解读ASP.NET 5 & MVC6系列教程(14):View Component
  • 解读ASP.NET 5 & MVC6系列教程(13):TagHelper
  • 解读ASP.NET 5 & MVC6系列教程(12):基于Lamda表达式的强类型Routing实现
  • 解读ASP.NET 5 & MVC6系列教程(11):Routing路由
  • 解读ASP.NET 5 & MVC6系列教程(10):Controller与Action
  • 解读ASP.NET 5 & MVC6系列教程(9):日志框架

相关文章

  • 2017-05-11C# ToString格式大全
  • 2017-05-11DataGrid 动态添加模板列 实现代码
  • 2018-08-20C#/.NET读取或修改文件的创建时间及修改时间详解
  • 2017-05-11asp.net下模态对话框关闭之后继续执行服务器端代码的问题
  • 2017-05-11后缀为 ashx 与 axd 的文件区别浅析
  • 2017-05-11ASP.NET中防止页面刷新造成表单重复提交执行两次操作
  • 2017-05-11Grid或者DataTable中数据导出为Excel原来这么简单
  • 2017-05-11XML文件修改节点属性值(多种方法)
  • 2017-05-11ASP.net判断上传文件类型的三种有效方法
  • 2017-05-11详解在.net中读写config文件的各种方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Silverlightbutton图片切换样式实例代码
    • asp.net 操作excel的实现代码
    • Asp.net开发之webform图片水印和图片验证码的实现方法
    • asp.net gridview的Rowcommand命令中获取行索引的方法总结
    • ASP.NET Core配置教程之读取配置信息
    • ASP.NET实现上传Excel功能
    • Asp.Net网站优化系列之数据库的优化措施与索引优化方法
    • ASP.NET Core Web App应用第三方Bootstrap模板的方法教程
    • 内容添加asp.net
    • asp.net 读取配置文件方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有