Windows Azure «Песочница» - PullRequest
       17

Windows Azure «Песочница»

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

Итак, у меня есть приложение MVC 2, работающее в Windows Azure.

Все отлично работает, но я хочу создать поддомен, где я могу протестировать некоторые вещи, для которых мне нужен настоящий сервер, но я неЯ не хочу, чтобы кто-нибудь это видел.Однако, если я просто выложу, как www.mywebsite.com/sandbox - любой МОЖЕТ технически получить к нему доступ, даже если он должен знать, что он там, а я этого не хочу.

Есть ли я в любом случае?можно настроить что-то подобное и защитить паролем или что-то легко?Если это так, я бы использовал такую ​​же вещь для частного административного URL, где только члены команды могли войти и проверить вещи (с помощью имени пользователя / пароля, которое я поддерживаю).

Ответы [ 2 ]

2 голосов
/ 13 июля 2011

Насколько я понимаю, у вас есть два варианта.

  1. Создайте промежуточное развертывание и заставьте веб-сайт IIS отвечать на определенный запрос DNS (например, http://sandbox.mywebsite.nothere).. Измените настройки DNS или измените файл локальных хостов (например, в *).1006 *). Это безопасность через неизвестность, и хотя она неэффективна, она проста и, возможно, является хорошим началом.
  2. Как предполагает Стив Морган в комментарии, внедрите аутентификацию в своем приложении. Если выЕсли у вас есть приложение ASP.NET (MVC или нет) (я предполагаю, что в моем примере это MVC), вы можете сделать что-то вроде этого:

    • Создать членский контроллер
    • Создайте действие входа, принимая имя пользователя и пароль, реализация выглядит следующим образом:

      публичный виртуальный логин ActionResult (модель Qinoa.Web.Models.LoginData) {if (model.Username == "myuser" && model.Password== "hardcodedPassword") {FormsAuthentication.SetAuthCookie ("myuser", model.RememberMe);} return RedirectToAction (MVC.Home.Index ());}

В тебеr файл web.config, установите

<authentication mode="Forms">
  <forms loginUrl="~/Membership/Login" timeout="2880" />
</authentication>

Во всех ваших тестовых контейнерах добавьте атрибут [Authorize].Ваше приложение теперь (в зачаточном состоянии) защищено.

С другой стороны: # 1: вы можете разместить несколько сайтов в одной веб-роли.

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

Настройте приложение с помощью Windows Identity Foundation и службы контроля доступа.

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

Еще лучше, если у вас есть Active Directory для внутреннего развертывания ADFS 2.0.Прелесть этого в том, что даже если кто-то достигает вашего приложения, он не может пройти аутентификацию, если у него нет доступа к сети, в которой работает ваш сервер ADFS.

Я защищаю приложение Azure таким образоми это работает очень хорошо.Я получаю прозрачную интегрированную аутентификацию, но она очень безопасна.

Вам не нужно выставлять AD или ADFS вне вашей сети, чтобы сделать это;нет связи между Azure и ADFS, все это делается через браузер.

...