та же аутентификация Asp.net Forms для обработчиков HTTP - PullRequest
2 голосов
/ 09 января 2012

У меня есть веб-сайт, созданный на asp.net 4.0 и работающий в лазурной веб-роле Я использую простую аутентификацию форм и разрешаю неавтоматизированные запросы GET к различным страницам, сценариям и стилям.
Проблема в том, что я реализовал собственный обработчик для расширения ".kl", который фактически обслуживает изображения на основе кода с этим расширением. поэтому предположим, что выходные данные для 1.kl и 2.kl будут разными.
мне нужно разрешить не прошедшие проверку подлинности запросы этому обработчику.
как мне это сделать?
это тег в моем webconfig

<authentication mode="Forms">
      <forms loginUrl="~/UserPages/UserLogin.aspx" timeout="2880" name=".ASPXF2KAUTH" protection="All" path="/" defaultUrl="~/CodeGeneratorPages/SC_WC_CodeGen.aspx">
      </forms>
    </authentication>

Ответы [ 2 ]

2 голосов
/ 09 января 2012

Это чисто вопрос ASP.NET, и решение является одним и тем же для развертывания Azure и локального развертывания.

Вам необходимо выбрать одну «папку», в которой будет обрабатываться ваш обработчик.Например, это может быть "/ dynamic-images" или что-то еще.И убедитесь, что все ссылки / ссылки, которые вы генерируете, указывают на эту папку ("~ / dynamic-images / 1.kl").

А теперь вам нужно добавить location элемент в вашей конфигурации.Обратите внимание, что location является непосредственным потомком конфигурации (не помещайте ее в system.web):

<location path="dynamic-images">
    <system.web>
       <authorization>
          <allow users="*" />
       </authorization>
    </system.web>
</location>

Нет другого пути (который я знаю) для достижения своей цели.

0 голосов
/ 09 января 2012

также еще одно решение этого квеста, которое я сам понял, заключается в том, чтобы разрешить UnAuthenticated доступ по умолчанию к корневому каталогу веб-сайта, а затем запретить доступ ко всем папкам и дочернему пути ... таким образом, любому обработчику будет разрешено бытьдоступ к нему любого произвольного пользователя, поскольку все дочерние пути не будут разрешены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...