Обеспечение приложения MVC ASP.NET для тестирования бета-версии?

Эй все. У меня есть приложение MVC ASP.NET, что я собираюсь быть развертыванием на живом сервере скоро. Теоретически, я хотел бы к паролю, защищают приложение, в то время как я - тестирование бета-версии, не изменяя базовую кодовую базу или членство в рамках приложения. У меня будет несколько человек тестированием бета-версии, таким образом, это будет обязательно, что это имеется в сети. Простой сценарий:

  1. Пользователь перешел к приложению под бетой
  2. Возможно, HttpHandler обработает запрос и перенаправит их к промежуточной, временной странице входа в систему, где они должны ввести бета пароль для доступа к приложению

Stackoverflow использовал подобную технику, когда они являлись объектом тестирования бета-версии. Какие-либо идеи?

Редактирование для разъяснения. У меня нет доступа к IIS для этого конкретного приложения, потому что я использую управляемый хост.

9
задан user135383 8 January 2010 в 18:41
поделиться

6 ответов

Я использую dhulk ​​- используйте проверку подлинности Windows в IIS. Этот маршрут позволит вам избежать добавления любого кода аутентификации в ваше приложение. Чем проще, тем лучше, и я бы не хотел выполнять работу по реализации системы членства, а затем и -внедрить ее.

0
ответ дан 5 December 2019 в 02:07
поделиться

Когда вы создаете новый проект ASP.NET MVC в Visual Studio, вы автоматически получаете AccountController, который использует базовый ASP.NET MembershipProvider для обеспечения механизма входа в систему.

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

Требуется настроить базу данных SQL Server для этих служб ASP.NET, но в зависимости от того, насколько вы знакомы с этим, вы можете сделать это в течение десяти минут или пары часов.

Когда общедоступная бета-версия закончится, вы можете просто отказаться от AccountController и базы данных.

0
ответ дан 5 December 2019 в 02:07
поделиться
  1. Используйте старый добрый RoleProvider, создайте бета-роль и проверьте ее через Authorize
  2. Создайте свой собственный AuthorizeAttribute и проверьте IP-адрес или файл cookie .
0
ответ дан 5 December 2019 в 02:07
поделиться

Я бы создал простой вид входа, который устанавливает сеанс, который проверяется на Session_Start() в вашем файле Global.asax.... Например:

protected void Session_Start()
{
    if (!Convert.ToBoolean(Session["authenticated"]))
    {
        // Redirect to the login View
    }
}

Когда вы будете готовы открыть ваше приложение для всех, просто удалите View и три строки кода в вашем файле Global.asax.

0
ответ дан 5 December 2019 в 02:07
поделиться

Пара идеи:

  1. Используйте аутентификацию Windows для всего приложения / сайта в IIS
  2. . Идея, которую вы упомянули, также является хорошим подходом IMO, реализация, вероятно, будет гибкой в ​​этом случае.
1
ответ дан 5 December 2019 в 02:07
поделиться

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

Что-то вроде этого (PS - сделал это на лету без тестирования):

    public class BetaTestAuthorize : AuthorizeAttribute
    {
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            //if(cookie checks out ok)
                //return true;
            //else
                //httpContext.Response.Redirect("BetaLoginPage");

            return base.AuthorizeCore(httpContext);
        }
    }

имеют метод действия, подобный так:

        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult BetaLogin(string username, string password)
        {
            if(username == "whatever" && password == "whatever")
            {
                 //create custom cookie
                 return RedirectToAction("Index", "Home");
            }
            else
                return View();
        }
1
ответ дан 5 December 2019 в 02:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: