У меня есть сайт администратора, настроенный как виртуальное приложение на другом сайте.
Я бы хотел, чтобы посетители подкаталога (виртуального приложения) запрашивались для ввода учетных данных с использованием той же проверки подлинности с помощью форм, установленной на главном родительском сайте
Перепробовал все что угодно, но не смог заставить его работать, включая
Удаление всех разделов <authentication mode="Forms">
, <authorization>
, <membership>
и <roles>
из виртуального приложения web.config
Копирование тех же секций <authentication mode="Forms">
, <authorization>
, <membership>
и <roles>
из родительского раздела в виртуальное приложение web.config
Использование виртуального каталога вместо виртуального приложения
Но у меня никогда не запрашивают учетные данные
Кто-нибудь знает, как получить эту настройку?
спасибо
UPDATE:
Теперь он получил возможность наследовать разрешения от родителя, удалив имя приложения в IIS (чтобы сделать его виртуальным каталогом, а не виртуальным приложением)
Тем не менее, это винты всех путей на сайте администратора
например. Я получаю следующую ошибку
Файл '/Site.master' не существует.
Так я должен использовать виртуальный каталог (который, кажется, наследует аутентификацию от родителя)?
Или виртуальное приложение (которое в настоящее время не наследует auth от родительского, но имеет правильные относительные пути)?
Вот родительский конфиг
<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>