У меня есть основной логин для моего клиентского веб-сайта, настроенного для членства в ASP.NET.
У меня также есть вторичный логин для моего административного бэк-офиса, называемый / admin со страницей входа
/admin / login.aspx
при входе в систему следует указать:
/ admin / secure /
Я поместил файл web.config в / admin / secure/ следующим образом
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow roles="admin" />
<deny users="?" />
</authorization>
</system.web>
</configuration>
Моя проблема в том, что я хочу использовать членство .net для перенаправления обратно в /admin/login.aspx, если неопытные пользователи пытаются получить к нему доступ, а не с помощью перенаправления верхнего уровня (/ login.aspx), который используется для моего клиента перед входом в систему.
Возможно ли это?
До сих пор я пытался добавить следующее в мою корневую сеть.файл конфигурации:
<location path="admin">
<system.web>
<authentication mode="Forms">
<forms name="appTTESubAuth" path="~/admin/" loginUrl="~/admin/login.aspx" protection="All" timeout="120"/>
</authentication>
</system.web>
</location>
Я получаю следующую ошибку:
Ошибка использовать раздел, зарегистрированный как allowDefinition = 'MachineToApplication' за пределами уровня приложения.Эта ошибка может быть вызвана тем, что виртуальный каталог не был настроен как приложение в IIS.
Итак, я попробовал это:
<sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup, System.Web, Version=%ASSEMBLY_VERSION%, Culture=neutral, PublicKeyToken=%MICROSOFT_PUBLICKEY%">
<section name="authentication" type="System.Web.Configuration.AuthenticationSection, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="Everywhere" />
<!-- Other system.web sections -->
</sectionGroup>
, что дает мне
Имя раздела или группы 'system.web' уже определено.Обновления могут происходить только на уровне конфигурации, где он определен
Кому-нибудь удалось сделать это с помощью .net membersip?
Спасибо