Мне передан веб-проект в ASP.NET. Он содержит папку Content
с файлом index.html
. На данный момент люди могут перейти на mysite.com/content/index.html
. В этом проекте не было MVC-контроллеров (я сам этого не делал).Проверка подлинности в папке не работает
Я не хочу, чтобы люди переходили непосредственно на страницу HTML. У меня есть страница входа в корень моего сайта (так mysite.com
), поэтому я хочу перенаправить пользователей там, если они не вошли в систему. Я создал свой собственный HomeController с помощью метода Index. Я установил идентификатор ASP.NET для авторизации всех запросов к этому методу. Я хочу настроить проверку подлинности форм, чтобы перенаправить все неавторизованные запросы в папку Content и ее содержимое в/Home/Index (или просто на веб-сайт root /).
Я нашел несколько ответов на этом сайте и в других местах, которые очень похожи: В Web.config корня веб-сайта, у меня есть этот код:
<configuration>
<location path="~/Content">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
<!-- some other nodes -->
<system.web>
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="/" />
</authentication>
</system.web>
</configuration>
Но это не работает, если я иду на mysite.com/content/index.html
Я не перенаправлен на mysite.com
. Я также попытался расщепить их в разных файлах web.config, как описано в ответе this. Что я делаю не так?
Работал для меня! Благодаря кучу, многие ответы не упомянули об этой части. – ohyeah