我正在开发一个Web应用程序,它在Web项目中有几个文件夹及其页面。还有一个web.config将所有传统标记。我需要创建另一个名为“customerportal”的文件夹,在此文件夹中我创建了3个页面,customerlogin.aspx
,customerdefault.aspx
和customerhelp.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
的事情。所以我开始调查,我看到很多答案,如:
在<location path="." inheritInChildApplications="false">
部分之前放置<system.web>
,我试过了,但现在我在<membership>
标记上收到了错误消息。成员资格在不同的aspmembership数据库中,因此孩子有不同的连接字符串等。但是我无法做像
<membership>
<clear />
或<membership> <remove name=..>
它的成员资格仍然以某种方式继承。解决这个子web.config问题的最佳方法是什么?在子文件夹需要自己的web.config时进行这种设置的最佳方法是什么?这是我第一次这样做。
答案 0 :(得分:0)
如果我理解你的问题,你不能只在root web.config中添加授权并给出路径“〜/ customerportal / customerlogin.aspx”等等吗?我认为因为你有一个web.config,它认为该目录是它自己的应用程序。