web.config小技巧

简介:
一、应用身份验证、但个别目录或文件不需要身份验证
 最常见的是一个网站的后台需要验证,而前台是不需要的;一般登录页面会有验证码、而生成验证码那个页面是不需要验证的、否则验证图片是显示不出来的。
解决方法:
< system .web >
      
<!--  身份验证  -->
      
< authentication  mode ="Forms" >
        
< forms  name =".myForm"  loginUrl ="login.aspx"  timeout ="20"  protection  ="All" />
      
</ authentication >
      
< authorization  >
        
< deny  users  ="?" />
      
</ authorization >
    
</ system.web >
  
<!--  验证码  -->
  
< location  path  ="CheckCode.aspx" >
    
< system .web  >
      
< authorization  >
        
< allow  users  ="*" />
      
</ authorization >
    
</ system.web >
  
</ location >
使用身份验证、禁止匿名用户访问,同时对页面checkcode.aspx允许所有用户访问、即不用验证。

二、改写(不需求)web.config继承
假设IIS中有个站点A、而A站点下面有个虚拟目录B、此时可以输入:" ttp://ip 址/"  访问到A站点,输入 http://ip地址/B 访问到B网站;而B项目中的web.config首先会继承A站点的web.config,如果A的config有很多设置如<httpModules>,<page>等,而B项目的config没有这些设置,项目也没用到这些设置,但B的程序在运行时确会出错、原因就是它继承A的config;这个让人有点讨厌“我压根没用它、怎么会有错?且提示出错的那个文件是A的config”,可以这样解决:
A项目用到了主题
< pages  enableEventValidation ="false"  validateRequest ="false"  theme ="default" >
B项目不用
< pages  enableEventValidation ="false"  validateRequest ="false"  theme ="" >
让B的主题为空、否则B运行时提示找不到default主题目;

A的设置
  < httpModules >
          
< add  name ="SiteCache"  type ="SiteCache" />
        
</ httpModules >
B的设置(不用的项,清除)
  < httpModules >
     
< clear />
 
</ httpModules >
如果A.B都用到
< appSettings >
  
< add  key ="app"  value =""   />
</ appSettings >
B运行时会提示app已经加载,此时可以
< appSettings >
  
< remove  name ="app"   />
  
< add  key ="app"  value =""   />
</ appSettings >
或者:
< appSettings >
  
< clear  />
  
< add  key ="app"  value =""   />
</ appSettings >

三、禁止web.config重写
同上面的例子、如果B中的config设置必须与A中的相同,不能重写,则A的config设置
     < location  path ="B"  allowOverride ="false" >
      
< system .web >
        
< httpModules >
          
< add  name ="SiteCache"  type ="SiteCache" />
        
</ httpModules >
      
</ system.web >
  
</ location >
此时B的config中<httpModules>设置不能改写,须和A的设置相同。
本文转自chy710博客园博客,原文链接:http://www.cnblogs.com/chy710/archive/2007/02/11/647537.html ,如需转载请自行联系原作者
相关文章
|
1月前
|
Ubuntu Linux Anolis
docker/脚本/ISO镜像安装FreeSWITCH 1.10.12 图形化界面
本文详解FreeSWITCH三种部署方式:脚本安装(推荐生产环境)、系统镜像(开箱即用)、容器化(适用于测试)。支持AlmaLinux、Rocky Linux、国产麒麟等系统,涵盖硬件要求、安装步骤与安全建议,助力高效搭建企业通信平台。
|
开发工具
编译SDK出现aclocal-1.15: command not found错误
编译SDK出现aclocal-1.15: command not found错误
1221 0
|
前端开发 JavaScript API
2024 新年HTML5+Canvas制作3D烟花特效(附源码)
2024 新年HTML5+Canvas制作3D烟花特效(附源码)
854 0
|
JSON 数据格式
Charles自动保存响应数据
Charles自动保存响应数据
Charles自动保存响应数据
|
存储 Java 数据库连接
南大通用 GBase 8s JDBC字符集参数详解
本文详细介绍了南大通用GBase 8s V8.8 数据中四个关键的JDBC字符集参数:CLIENT_LOCALE、DB_LOCALE、NEWCODESET和NEWLOCALE,涵盖它们的功能、配置方法及其在数据库操作中的作用,旨在帮助开发者和数据库管理员提升数据处理的效率与准确性。
|
移动开发 JavaScript 前端开发
前端(九)——探索微信小程序、Vue、React和Uniapp生命周期(下)
前端(九)——探索微信小程序、Vue、React和Uniapp生命周期(下)
537 0
|
关系型数据库 MySQL 数据库连接
FreeSWITCH通过mod_mariadb原生连接MySQL
FreeSWITCH通过mod_mariadb原生连接MySQL
1232 0
|
SQL 关系型数据库 Shell
postgresql|数据库|批量执行SQL脚本文件的shell脚本
postgresql|数据库|批量执行SQL脚本文件的shell脚本
852 0
三面阿里云被虐,15天读完这份pdf文档,我拿下“美团通知单”
首先介绍一下我的个人背景,鄙人小康家庭,父母都是普通职业,供我读书长大不容易,好在我也算争气,高考发挥正常,考了个还算不错的大学,华南地区某211。今年的金三银四本是想好好拼一把,奈何受到疫情影响,只能将自己的计划缩减又缩减,所以第一家选择去面试的阿里,奈何三面被虐得“体无完肤”,好在自己并未气馁,复习15天后去面试了美团,最终4面拿下了offer。
|
Shell Linux Perl
Linux下使用脚本读取参数修改配置文件(一)
Linux下使用脚本读取参数修改配置文件
1509 0
Linux下使用脚本读取参数修改配置文件(一)

热门文章

最新文章