IIS与Forms身份验证
  前面提过,IIS会把注册的扩展名发送到aspnet_isapi.dll。图1展示 的是找到的已注册扩展名。我们可以在虚拟目录或者网站的“Properties”中的“Configuration”选项就可以看到这个对话框。带有由 aspnet_isapi.dll进行处理的已注册扩展名的任何文件都受到ASP.NET的Forms身份验证的支配。下面我们对Forms身份验证的运 行机制做简单介绍。
  定制的HTTP处理程序实际上就是实现了IHttpHandler接口的那些类。Forms身份验证允许您防止匿名用户在未授权的情况下访问某些web页面。文件web.config利用以下代码来设置Forms身份验证:
   < authentication mode ="Forms" >
  
< forms loginUrl ="Login.aspx" />
  
</ authentication >
  
< authorization >
  
< deny users ="?" />
  
</ authorization >
   上面的代码会防止没有通过身份验证的用户访问所有的页面。如果一个匿名用户试图访问一个网页,该代码会自动地将他们重定向到Login.aspx页面。 这样一来,站点开发人员就能决定在这个页面中使用哪种身份验证方法,但是在ASP.NET 2.0中,开发人员可以很轻松地使用新的 安全控件来完成此项工作。
   现在,我们说过这个代码能够阻止未通过身份验证的用户访问任何页面,但是准确来说它是阻止了未经认证的用户访问所有被aspnet_isapi.dll 拦截的那些文件。这将在后面详加解释。为了给本文的后面的内容做铺垫,我们需要先描述示例电子商务站点的一些具体细节。