Watin Windows Аутентификация
Я пытаюсь написать тесты Ватина для интранет-приложения, использующего встроенную аутентификацию. Веб-страница, которую я пытаюсь проверить, печатает Page.User.Identity.Name.
Вот часть кода из моего теста:
if (Win32.LogonUser(u.UserName, u.Domain, u.Password, 2 /*LOGON32_LOGON_INTERACTIVE*/, 0 /*LOGON32_PROVIDER_DEFAULT*/, out hToken))
{
if (Win32.DuplicateToken(hToken, 2, out hTokenDuplicate))
{
WindowsIdentity windowsIdentity = new WindowsIdentity(hTokenDuplicate);
WindowsImpersonationContext impersonationContext = windowsIdentity.Impersonate();
Console.WriteLine(WindowsIdentity.GetCurrent().Name);
using (IE ie = new IE(url))
{
Console.WriteLine(ie.ContainsText(u.UserName));
ie.AutoClose = false;
}
impersonationContext.Undo();
}
}
Когда я запускаю это, он печатает имя пользователя, которое я пытаюсь имитировать, на консоль, но на веб-странице отображается пользователь, в котором я в данный момент вошел, а не тот пользователь, которого я должен выдавать.
Подобная проблема найдена на:
Автоматизированное тестирование сценариев авторизации, реализованных с помощью AzMan