TLDR
Веб-сайт, для которого я нанят, обеспечивает безопасность дескрипторов в двух местах: проверка подлинности с помощью web.config и проверка файла cookie сеанса в коде в MasterPage.Таким образом, изменение сведений о безопасности, например, доступ к некоторым страницам без входа в систему, требует изменений в both
местах.Просто забудь об одном, и странные вещи случаются в сетевых инструментах разработчика ...
Мой веб-сайт работает очень хорошо, но небольшие проблемы не дают мне покоя.Он использует проверку подлинности с помощью форм, но все файлы в корневом каталоге не имеют ограничений;только некоторые каталоги имеют deny users=?
в локальном файле web.config.Тем не менее, страницы ASP в корне не могут быть доступны до входа в систему, и ответить 302 Found, Redirect
.
Это часть web.config в корне:
<authentication mode="Forms">
<forms name="MYWEBAPP.ASPXAUTH" loginUrl="~/Welkom.aspx"
protection="All" timeout="181" slidingExpiration="true" path="/"/>
</authentication>
и нет секции <authorization>
.
Предполагается, что пользователь должен быть допущен довойти, чтобы посетить такие страницы, как /Cookies.aspx, но с FireFox F12 Dev Tools, вкладка Network, я вижу ответ 302, а затем перенаправление на /Login.aspx.
Это приводит к двум вопросам:
- почему 302, а не просто 200 ОК и показать страницу Cookies?
- почему вы идете в /Login.aspx, а не /Welkom.aspx?
Я допускаю, что Welkom.aspx может выглядеть здесь странно, но он работал хорошо в течение многих лет, и он делает Response.Redirect("/Login.aspx")
, если в параметрах запроса есть подходящий URL.Но я проверил с помощью точки останова отладчика в Page_Load (), и в приведенных выше вопросах файл Welkom.aspx.cs НЕ посещается, поэтому каким-то образом IIS (Expr) идет прямо в /Login.aspx, что очень странно.