У меня есть веб-приложение с использованием .Net 2.0 framework. Весь сайт ограничен аутентифицированными пользователями с использованием проверки подлинности Windows. Эти правила установлены в файле web.config следующим образом:Переписывание и аутентификация URL-адреса ASP.Net
<location path="/">
<system.web>
<authorization>
<allow roles="CustomerAdministrator, Manager"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="Path/To/Public/File.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
[...]
Как было показано выше, у меня есть одна страница, которую я хочу быть публичным. До этого момента все работает нормально. Недавно мы добавили перезаписи URL для более хороших адресов, так что я установил правило перезаписи для публичной страницы:
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/Public</LookFor>
<SendTo><![CDATA[~/Path/To/Public/File.aspx]]></SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
Теперь при обращении к общественности страницы по своему прямому URL, он работает, как ожидался (не требуется проверка подлинности), но когда я пытаюсь получить доступ к странице через свой переписанный URL-адрес, он запрашивает аутентификацию.
Кто-нибудь знает, откуда эта проблема?
Что вы используете для повторной записи URL-адресов? –