我有一个管理站点设置为另一个网站内的虚拟应用程序。
我希望使用在主父站点上设置的相同表单身份验证提示访问子目录(虚拟应用程序)的访问者提供凭据
尝试了各种方法但无法正常工作,包括
从 virtual-app web.config 中删除所有<authentication mode="Forms">
、和部分<authorization>
<membership>
<roles>
<authentication mode="Forms">
将相同的<authorization>
、<membership>
和<roles>
部分从父级复制到虚拟应用 web.config
使用虚拟目录而不是虚拟应用程序
但我从来没有得到凭据提示
有谁知道如何获得这个设置?
谢谢
更新:
现在让它从父级继承权限,方法是删除 IIS 中的应用程序名称(使其成为虚拟目录而不是虚拟应用程序)
但是,这会破坏管理站点中的所有路径
例如,我收到以下错误
文件“/Site.master”不存在。
那么我应该使用虚拟目录(它似乎继承了父级的身份验证)吗?
还是一个虚拟应用程序(目前没有从父级继承身份验证但具有正确的相对路径)?
这是父配置
<membership defaultProvider="SqlServerMembershipProvider">
<providers>
<add connectionStringName="xxxxxxxx" requiresQuestionAndAnswer="false" applicationName="/" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" name="SqlServerMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</membership>
<roleManager enabled="true" defaultProvider="SqlServerRoleProvider">
<providers>
<add connectionStringName="xxxxxxx" applicationName="/" name="SqlServerRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</roleManager>
<authentication mode="Forms">
<forms name=".EPiServerLogin" loginUrl="login.aspx" timeout="120"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>