ASP.NET中的HTTP模块和处理程序(7)

发表于:2007-06-30来源:作者:点击数: 标签:
现在试图使用用户id“Steve”和密码“15seconds”登录系统。输入 http://localhost/webapp2/index.aspx?userid=Stevenbsp; 现在试图使用错误的用户id和密码组合来登录系统。输入http://localhost/webapp2/index.aspx?userid=Mansoornbsp; 这表明我们的 安全
     现在试图使用用户id“Steve”和密码“15seconds”登录系统。输入 http://localhost/webapp2/index.aspx?userid=Steve&password=15seconds你将看到下面的欢迎消息:
  
   现在试图使用错误的用户id和密码组合来登录系统。输入http://localhost/webapp2/index.aspx?userid=Mansoor&password=xyz你将看到下面的错误消息:
  
  
  这表明我们的安全模块在起作用了。你可以通过在AuthenticateAndGetRoles方法中使用数据库访问代码来扩展该安全模块。
  
    要使所有的部分都起作用,我们必须对web.config文件进行一些修改。首先,由于我们要使用自己的身份验证,因此不需要其它的身份验证机制。为了达到这个目的,改变webapp2的web.config文件中的<authentication>节点,如下所示:
  
  <authentication mode="None"/>
  
    类似地,不允许匿名用户访问我们的Web站点。给web.config文件添加下面的语句:
  
  <authorization>
   <deny users="?"/>
  </authorization>
  
    用于至少能够匿名访问用于提供凭证的文件。在web.config文件中使用下面的配置设置信息把index.aspx作为唯一能够匿名访问的文件:
  
  <location path="index.aspx">
   <system.web>
    <authorization>
     <allow users="*"/>
    </authorization>
   </system.web>
  </location>
  
    结论
  
    你可能已经意识到有了HTTP处理程序和模块后,ASP.NET已经给开发者提供了强大的能量。把你自己的组件插入ASP.NET请求处理管道,享受它的优点吧。
  
    作为练习,你应该进一步改进程序,使示例身份验证模块更加灵活,并能根据用户的需要进行调整。
  

原文转自:http://www.ltesting.net