Как исключить имена пользователей и пароли из исходного кода в Test Automation? - PullRequest
6 голосов
/ 28 октября 2010

Я пишу тестирование автоматизации и сценарии, которые требуют проверки подлинности Windows для домена.
Мне не нравится хранить их в app.config, потому что они доступны в виде простого текста.
Мне не нравится запрашивать ввод, потому что тогда он больше не автоматизирован.
Если я жестко закодирую их в сборке, они будут видны из .Net Reflector, и они будут проверены в системе контроля версий, когда я фиксирую файлы .cs.
Есть ли шаблон / практика, которая позволяет легко использовать настроенные имена пользователей и пароли, не подвергая их.

Это также относится к веб-сайтам, имеющим учетные данные для входа в систему, и базам данных, в которых для подключения используется либо проверка подлинности Windows, либо проверка подлинности сервера SQL.
Любой совет будет принята с благодарностью.

Ответы [ 3 ]

1 голос
/ 28 октября 2010

Процесс, который запускает тесты, может стать аутентифицированным пользователем. Таким образом, вам нужно только ввести имя пользователя и пароль при настройке службы / запланированной задачи / и т.д. Конечно, если вы должны фактически ввести учетные данные как часть теста, то это не поможет.

1 голос
/ 28 октября 2010

Не могли бы вы использовать DPAPI для его защиты?

Есть интересная статья MSDN @ http://msdn.microsoft.com/en-us/magazine/cc164054.aspx

1 голос
/ 28 октября 2010

Вы можете использовать Convert.ToBase64String () и Convert.FromBase64String () с жестко запрограммированными паролями для обеспечения базовой маскировки.

Если вы действительно хотите что-то более сильное, используйте алгоритм симметричного ключа , например, например. Blowfish , но это излишне, и вам все равно придется где-то хранить ключ.

...