可是往往会出现一些问题,当然这些问题不会被人们注意到。
我们在配置form验证的时候往往直接将
<authorization>
<deny users="?"/>
</authorization>
配置节点放在在根目录下面的web.config中,这样的话就会出现一些问题:
1、如果您做了一个登录页面引用了"根目录\images\"的图片,那么可能出现图片无法显示的问题。
2、对于"根目录\xxxx\"引用的一些css,js脚本等信息也会无法得到。
3、如果调用了主题,也可能无法访问。
其实这些问题归结起来是您没有访问这些资源的权限。
form验证的authorization配置采用向下继承的规则,所以,如果您没有登录,那么肯定没有权限访问这些引用文件。解决方法最为简单的就是放弃在根目录下面的web.config里面配置authorization节点。而将配置节点放置在真正需要验证的目录下的web.config里面。这样就可以解决这个问题。一般没有人会把所有的页面文件都放置在根目录吧!
如果您放置了,那么您就必须Global.asax里面Application_Start里面编写代码移除相应文件夹的form验证必要性!