3

我正在开发一个 Web 应用程序,该应用程序在 Web 项目中有多个文件夹及其页面。还有一个web.config 将所有的繁体标记起来。我需要创建另一个名为“customerportal”的文件夹,在这个文件夹中我创建了 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中的应用程序。然后错误消失了,但我遇到了其他问题,比如 mainweb.config被继承给 child web.config。所以我开始调查,我看到了很多答案,比如:

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

<membership>
  <clear />

或一个<membership> <remove name=..>

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

4

1 回答 1

0

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

于 2013-01-29T18:17:30.397 回答