iis7如何发布静态网页 IIS7中ASP.NET授权功能如何实现对静态文件的控制 - IIS - 服务器之家

服务器之家

专注于服务器技术!
当前位置:首页 > Web服务器 > IIS

iis7如何发布静态网页 IIS7中ASP.NET授权功能如何实现对静态文件的控制

发布时间:2017-04-08 来源:服务器之家

前序

     .net提供了3种用户认证的方式,分别是Windows,Forms,Passport。这几种形式的定义可以在网站根目录下Web.config中的authentication节点中看见。我们常用的是forms形式。forms验证就是表单认证,提供了以身份id和密码的形式进行验证和授权管理的功能。

它运行的一个流程:

配置web.config

     配置方法如下,没有验证的用户根据配置自动跳转到loginUrl里面的页面去登陆。

<authentication mode="Forms">
</authentication>

配置授权设置

     同样是在web.config中的<system.web>下增加如下节点,“?”的意思指匿名用户,而“*”则表示所有用户。下面这个意思就是说根目录下的所有页面拒绝被匿名用户访问。当然你也可以在users中填写指定的用户ID,不过那样并不常用。还有deny,allow的顺序是先写allow完了再deny,不然就会出现问题。这个大家要记住。

<authorization>
<deny users="?"/>
</authorization>

关键点

解决办法

      IIS7有两种运行模式:经典模式和集成模式。两种模式下的设置是不一样的。

      1、先来看集成模式:此模式下需修改两个模块(UrlAuthorization、FormsAuthentication)的默认配制,取消选择“仅针对向应用程序或托管处理程序发出的请求调用  ”

      记住UrlAuthorization、FormsAuthentication这两个模块都要改,刚开始我只改了UrlAuthorization,结果匿名用户倒是访问不了了,但是页面没有自动转到登录页面,显示如下错误:

       2、再来看经典模式下,此时类似于IIS6,只要添加上通配符脚本映射就行了。

总结

      其实原理很简单,都只是要让IIS把静成内容都转交给处理就OK了。