Авторизация, JSON и перенаправление в ASP.NET - PullRequest
0 голосов
/ 09 марта 2012

Прежде всего, я только сейчас знаком с проблемами, связанными с авторизацией и службами JSON.См .: Как управлять запросом на перенаправление после вызова jQuery Ajax .

Моя ситуация: у меня есть каталог администратора с собственным каталогом "admin", запрещающий неаутентифицированным пользователям:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.web>

    <authorization>
        <deny users="?" />
    </authorization>

  </system.web>
</configuration>

В этом каталоге находится моя главная страница и два обработчика Http, которые я использую для загрузки файлов, а что нет.Теперь, когда у меня есть код для обработки ситуации, когда пользователь не авторизован, когда к обработчику обращаются через GET или POST, кажется, что обработчик никогда не выполняется, и GET / POST перенаправляются на страницу входа.Я полагаю, это все хорошо, но мне бы очень хотелось, чтобы сами обработчики http обрабатывали проблему и обрабатывали ее по-другому (по крайней мере, вместо кода перенаправления выдавайте код 401).

Похоже,это должно быть довольно легко (и я держу пари, что просто легко) пробить дыры, чтобы обработчики HTTP могли управлять своей собственной безопасностью, но я как бы здесь сошел с ума, так что я надеялся, что кто-тобудьте добры, покажите мне, как мне нужно изменить веб-конфигурацию, чтобы эти службы обрабатывали свою собственную авторизацию.Спасибо!

1 Ответ

1 голос
/ 09 марта 2012

Вы пытались указать для каждого из них?

  <location allowOverride="false" path="Content">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>
  <location allowOverride="false" path="Scripts">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

Будь осторожен. Заказ имеет значение. Поэтому наименее ограничительный для большинства ограничительных сверху вниз.

...