具有多个 web.config 的 Web 应用程序

本文关键字:Web 应用程序 config web | 更新日期: 2023-09-27 17:56:04

我正在开发一个Web应用程序,该应用程序在Web项目中具有多个文件夹及其页面。还有一个web.config将全部传统标记起来。我需要创建另一个名为"客户门户"的文件夹,在此文件夹中我创建了 3 个页面,customerlogin.aspxcustomerdefault.aspxcustomerhelp.aspx 。我还在该文件夹中添加了 3 个文件夹、图像、css 和脚本。

现在,当我导航到该文件夹时说http://mysite.com/customerportal/customerlogin.aspx,它工作正常。我添加了一个web.config文件,因为现在我需要将此文件夹仅恢复为客户的角色,同样,我需要将主应用程序(父应用程序)限制为客户角色。因此,没有客户无法进入客户门户,也没有客户门户用户可以进入主应用程序页面。所以我添加了限制子web.config.中角色的标记,这不起作用,因为它告诉我

    Parser Error Message: It is an error to use a section registered as
allowDefinition='MachineToApplication' beyond application level.  
This error can be caused by a virtual directory not being 
configured as an application in IIS.

因此,我将文件夹转换为虚拟目录,然后转换为 IIS 中的应用程序。然后错误消失了,但我遇到了其他问题,例如主要web.config继承给子web.config的事情。所以我开始调查,我看到了很多答案,比如:

<system.web>部分之前放置一个<location path="." inheritInChildApplications="false">,我尝试过这个,但现在我在 <membership> 标签上出现错误。成员资格位于不同的 aspmembership 数据库中,因此子级具有不同的连接字符串等。但我无法做这样的事情

<membership>
  <clear />

<membership> <remove name=..>

就像成员资格仍在以某种方式被继承一样。解决此子 web.config 问题的最佳方法是什么?,在子文件夹需要自己的 web.config 的情况下进行这种设置的最佳实践是什么?这是我第一次这样做。

具有多个 web.config 的 Web 应用程序

如果我正确理解您的问题,您不能在根 web.config 中添加授权并给出路径"~/customerportal/customerlogin.aspx"等等吗?我认为因为你有一个web.config,所以它认为该目录是它自己的应用程序。