Как я могу защитить веб-сайт ASP .NET, который уже использует проверку подлинности с помощью форм? - PullRequest
3 голосов
/ 12 апреля 2011

У меня есть веб-сайт ASP .NET, который использует проверку подлинности с помощью форм для защиты определенных частей сайта. У нас есть тестовая версия сайта на сервере, и мы делаем ее доступной для партнеров через Интернет, например, на test.mydomain.com.

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

Однако, похоже, ASP .NET и IIS не поддерживают это. Я знаю о MADAM , но это немного отличается от того, что мне нужно.

Я рассматриваю ограничение доступа по IP, но у него есть два недостатка: один требует, чтобы участники "зарегистрировались" с их IP, и два, их IP может измениться.

У кого-нибудь еще есть предложения?

Ответы [ 4 ]

0 голосов
/ 15 апреля 2011

В итоге мы решили, что защита всего сайта с помощью проверки подлинности с помощью форм и выдача тестовых учетных записей нашим партнерам - лучшее решение.

Спасибо всем за ваши предложения.

0 голосов
/ 12 апреля 2011

Предполагая, что ваш сайт реализует роли, вы можете заблокировать доступ, используя традиционную аутентификацию форм и атрибуты местоположения.Что-то вроде:

<configuration>
 <location path="Testing">
  <system.web>
     <authorization>
        <allow roles="partners" />
        <deny users="*" />
     </authorization>
  </system.web>
 </location>
</configuration>

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

0 голосов
/ 12 апреля 2011

Ммм ....

Хорошо, вышеупомянутые решения будут работать, но в целом есть лучший способ.Но требует некоторого предварительного планирования.

  1. ваши серверы разработки и промежуточного уровня не должны быть открыты для широкой публики, поисковых роботов и т. Д ..
  2. вашим разработчикам и пользователямЯщики могут быть заблокированы купить брандмауэр или даже IP-контроля доступа через IIS

Нет решения кода

0 голосов
/ 12 апреля 2011

Одним из решений является проверка наличия файла cookie «базовой аутентификации» для каждого запроса. Если он не существует или не имеет действительных данных, не разрешайте доступ к сайту. Это можно проверить на базовой странице, от которой наследуются все страницы или на главной странице и т. Д.

Для того, чтобы установить cookie, вы можете создать страницу, на которую вы отправляете своих партнеров. Это может быть просто скрытый URL-адрес или требование ввода пароля. В принципе, какой бы механизм безопасности вам ни подходил, но после того, как он «пройдет тест», вы устанавливаете cookie, который дает им доступ к сайту.

Тогда они получат доступ и смогут войти в систему, используя вашу существующую аутентификацию форм.

Имеет ли это смысл.

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