代码改变世界

关于ASP.NET中独立页面设置身份认证等问题

2004-06-28 12:48  灵感之源  阅读(1450)  评论(3编辑  收藏  举报
大家都知道通过以下的方法实现对所有页面的身份认证要求:
<authentication mode="Forms">
   <forms name=".OnLineWork" loginUrl="logoin.aspx" protection="All" timeout="60" />
  </authentication>
  <authorization>
   <deny users="?" />
 </authorization>


DDL
在《在设置窗体身份验证时设置个别页面不需要进行验证》一文中指出,如果要独立地配置某页面不需要身份认证,而保持原来其它页面需要身份认证的方法是在后来在Web.config的<configuration>中加入相应的页面配置。实际上,如果页面一多,这样配置或许会有点麻烦。

我们也遇到过类似的问题,发现ASP.NET有一个特性,任何目录下都允许有独立的web.config文件,而且每个目录下的web.config文件的优先级别高于根目录下的web.config文件,这样,我们只需要把所有不需要做身份认证的页面存放于一目录中,并在该目录下配置web.config文件不需要身份认证便可,和需要身份认证的页面/目录并存。

反之亦然:主目录不需要身份认证,一些页面需要身份认证,把需要身份认证的页面放到一目录中,然后配置该目录的web.config需要身份认证便可。