Лучший способ использования нескольких тестовых учетных записей в веб-приложении с использованием проверки подлинности Windows? - PullRequest
0 голосов
/ 26 августа 2011

У меня есть приложение ASP.NET, работающее на IIS 7 и использующее проверку подлинности Windows.Для тестирования каждый из наших тестовых пользователей имеет 5 тестовых учетных записей, настроенных для них в домене.Им нужно несколько учетных записей, потому что им нужно тестировать разные роли в приложении.Пользователи используют IE7.

Доступные параметры, позволяющие пользователю войти в приложение под разными учетными записями:

1) Выйдите из Windows и войдите в систему кактребуется тестовый аккаунт.(Не очень удобно для пользователя).

2) Попросите пользователя щелкнуть правой кнопкой мыши Internet Explorer и выбрать «Запуск от имени…», а затем введите учетные данные для необходимой тестовой учетной записи.(Не очень интуитивно для пользователя. Кроме того, некоторые функции не работают должным образом в IE7 при работе таким образом, например, Закладки, Принтеры)

3) Используйте Firefox или Chrome.(К сожалению, не вариант)

4) Не используйте проверку подлинности Windows (требуется проверка подлинности Windows)

5) Обновите параметры IE, чтобы запретить автоматический вход на сайты (это будет работать, но это будет раздражать пользователей, поскольку они используют множество других сайтов, использующих проверку подлинности Windows).

6) Найдите какой-нибудь способ в IIS / ASP.NET для предотвращения автоматического входа IE?(Я не видел никакого способа сделать это, но было бы интересно услышать любые предложения).

Кто-нибудь может придумать какие-нибудь лучшие способы?

Спасибо.

Ответы [ 2 ]

1 голос
/ 26 августа 2011

Предложение: вы не можете использовать VMware или виртуальный ПК, и пользователи могут переключаться между виртуальными ПК для тестирования.

1 голос
/ 26 августа 2011

Я считаю, что # 2 - ваша лучшая база для построения.

Насколько интуитивно понятен пользователю: как насчет приложения Windows Forms, которое может запускаться под различными тестовыми учетными записями?

Я собирался попытаться создать быстрое тестовое приложение, но сначала нашел этот пост:

http://fraserchapman.blogspot.com/2007/07/programmatic-runas-in-c.html

Через пару минут я начал работать:

using System;  
using System.Diagnostics;

namespace TestRunAs
{
    class Program
    {
        static void Main(string[] args)
        {
            RunAs("C:\\Program Files\\Internet Explorer\\iexplore.exe", "TestUser5", "TestUser5Password");
        }

        static void RunAs(string path, string username, string password)
        {
            var secureString = new System.Security.SecureString();
            foreach (char c in password)
            { secureString.AppendChar(c); }
            ProcessStartInfo myProcess = new ProcessStartInfo(path);
            myProcess.UserName = username;
            myProcess.Password = secureString;
            myProcess.UseShellExecute = false;
            Process.Start(myProcess);
        }
    }
}

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

Продолжение: я стал искать в поискахинформация о SecureString.Пример использования MSDN: ИМЕННО , что вы пытаетесь сделать, просто используя вместо этого Блокнот:

http://msdn.microsoft.com/en-us/library/system.security.securestring.aspx

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