allowDefinition="MachineToApplication"

    想利用以前看到的"使用web.config设置不同目录下的配置”,来玩一下多个web.config的继承.
    问题是首先这样引出来的:
    把一些原本放在根目录下的aspx文件,放到AuthFolder中,在其中加一个web.config,根目录下不再配置<authentication><authorization>;AuthFolder中需要该两项的详细、安全的配置.
    编译通过,但浏览时提示"未能加载……(某个类)”.
    紧急搜索了一些论坛,发现对于"未能加载……”的问题几乎没有作出答案,回复不过两种:一,重新生成一下;二,建虚拟目录;三,在AuthFolder中新建页面,然后拷贝代码,而不是直接拷贝页面到AuthFolder中.
    然后看到的就是,继续的回复里"仍然没有解决……”的抱怨.
    研究一下.
    1,web.config是继承关系,根继承于machin.config;machin.config中有一些规定web.config如何设置的东西,即哪些配置能够在web.config中配置;
    默认的:authentication、sessionState的配置只能发生在:虚拟目录、应用程序中.(由machine.config中allowDefinition="MachineToApplication"来定义)
    2,Form验证是否必须将文件夹在IIS中配置成Application?
    3,将子目录AuthFolder配置成Application后,里面的页面就会发生"未能加载……”(和搜索的结果相反:我这里是配置为虚拟目录后,才发生此现象??)的问题;不配置,则不能使用web.config配置AuthFolder目录下的<authentication>;
    试了几个方法:
    1,IIS中配置子目录为Application;
    改machine.config中
    <section name="authentication" …… allowDefinition="MachineToApplication"/>
    为
    <section name="authentication" …… allowDefinition="Everywhere"/>
    在AuthFolder中的web.config中写<authentication>配置节;
    失败!还是"未能加载……”
    2,IIS中不配置子目录为Application;
    不改machine.config;
    不写AuthFolder中的web.config中写<authentication>配置节;
    只写AuthFolder中的web.config中写<authorization>配置节,和根目录的web.config中的<authentication>配置节;
    暂时可用,但很不灵活.
posted @ 2006-10-08 08:52  泡面 @ 幸福  阅读(1873)  评论(0编辑  收藏  举报