• ASP.NET IIS7.x 和表单验证


           IIS 7.x 对 ASP.NET HTTP 处理管道和 IIS HTTP 处理管道进行了整合。能够为 IIS 7.x 里配置的其他 Web 程序使用 ASP.NET 表单验证,而这些应用程序不一定是通过 ASP.NET 构建的。

           IIS 7.x 把 Web 服务器中对 Web 应用程序进行的大部分配置保存到 web.config 文件里。也就是说,Web 应用程序的很多选项可以通过 IIS 7.x 管理器控制台或直接修改 web.config 文件进行配置。由于 ASP.NET 配置特性和 IIS 7.x 的紧密整合,任何针对 web.config 文件的直接修改都会立即反映到管理控制台,反之亦然。

           下图是通过 IIS 7.x 管理控制台的验证配置特性配置表单验证:

           image

           以这种方式启用表单验证后,还必须配置希望的验证规则。其中最重要的一点是通过 IIS 7.x 管理控制台的授权配置特性为所有匿名用户添加一个“拒绝”规则:

           image

           这两个配置都会影响 web.config 文件:

    <?xml version="1.0" encoding="UTF-8"?>
     
    <configuration>
        <system.web>
            <authentication mode="Forms">
                <forms loginUrl="DbLogin.aspx" name="MyCookieName" timeout="2" />
            </authentication>
        </system.web>
        <system.webServer>
            <security>
                <authorization>
                    <add accessType="Deny" users="?" />
                </authorization>
            </security>
        </system.webServer>
     
    </configuration>

           IIS 正如预期的那样在 <system.web> 节配置表单验证。不过默认情况下找不到任何授权规则。并非所有配置项都是默认直接保存到 web.config 文件中的,URL 授权就是这样的配置之一。

           IIS 7.x 运行于整合模式下时(默认),IIS 使用一个 HTTP 处理管道同时处理基于 ASP.NET 的 HTTP 模块以及 IIS 7.x 的原生 HTTP 模块。也就是说,你甚至可以把表单验证用于其他类型的应用程序,如静态 HTML 站点、传统的 ASP 应用程序,PHP 应用程序。你所要做的只是把应用程序配置为一个虚拟目录,然后通过 IIS 7.x 管理控制台配置表单验证。这自动为应用程序增加一个 web.config 配置。

  • 相关阅读:
    链表
    Python中安装Requests库
    在vs中使用python
    CentOS添加windows引导
    c#创建windows服务
    SQLServer查询结果另存为csv格式中文乱码问题
    用svn管理GitHub项目
    Jquery操作select
    sqlserver2016安装
    信号处理函数陷阱:调用malloc导致死锁[转]
  • 原文地址:https://www.cnblogs.com/SkySoot/p/3006794.html
Copyright © 2020-2023  润新知