Проверка подлинности с помощью форм для XML-файлов - PullRequest
0 голосов
/ 13 июля 2009

Мне было интересно, можете ли вы защитить XML-файлы с помощью проверки подлинности на основе форм в ASP.NET 3.5. У меня есть несколько лицензионных ключей, которые можно найти в Интернете, но вы не сможете их загрузить, если не вошли в систему.

Для страниц aspx это работает автоматически, но не для файлов xml.

1 Ответ

1 голос
/ 13 июля 2009

Поместите XML-файлы в определенную папку, добавьте web.config в эту папку, содержащую:

<configuration>
  <system.web>
    <authorization>
      <deny users="?"/>
      <allow roles="admin"/>      
    </authorization>
  </system.web>
</configuration>

Изменить '?' (что означает, что анонимные пользователи - то есть не вошли в систему) в '*', чтобы запретить всех пользователей (сервер будет иметь доступ [например, через Server.MapPath и т. д.]).

Соответственно вы можете играть с ролями или убрать эту строку.

Также учтите, что в файле web.config вы можете запретить и разрешить определенные расширения следующим образом:

<system.web>
    <httpHandlers>
      <remove verb="*" path="*.xml" />
      <!--or-->
      <add verb="*" path="*.xml" type="System.Web.HttpForbiddenHandler" />
    </httpHandlers>
</system.web>

Пожалуйста, не полагайтесь на этот последний фрагмент, пока не убедитесь, что ваши потребности. Вы можете узнать больше о Http Handlers или взглянуть на Как: зарегистрировать HTTP-обработчики .

Я также заметил, что кто-то задал похожий вопрос здесь , вы можете найти его полезным.

Надеюсь, вы быстро найдете свое решение, удачи!

...