Watin Uwierzytelnianie Windows

Próbuję napisać testy Watina dla aplikacji intranetowej, która korzysta ze zintegrowanego uwierzytelniania. Strona internetowa, którą próbuję przetestować, drukuje Page.User.Identity.Name.

Oto część kodu z mojego testu:

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();
                }
            }

Gdy to uruchomię, drukuje nazwę użytkownika, którą próbuję podszyć się pod konsolę, ale strona internetowa wyświetla użytkownika, na którym jestem aktualnie zalogowany, a nie użytkownika, którego powinienem podszywać.

Podobny problem znaleziono w:
Automatyczne testowanie scenariuszy autoryzacji za pomocą AzMan

questionAnswers(1)

yourAnswerToTheQuestion