Autenticação do Windows Watin

Eu estou tentando escrever testes Watin para um aplicativo de intranet que usa autenticação integrada. A página da Web que estou tentando testar imprime Page.User.Identity.Name.

Aqui está um pouco do código do meu teste:

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

Quando executo isso, ele imprime o nome de usuário que estou tentando passar para o console, mas a página da Web exibe o usuário no qual estou logado no momento, não o usuário que eu deveria estar representando.

Problema semelhante encontrado em:
Testes automatizados de cenários de autorização implementados com o AzMan

questionAnswers(1)

yourAnswerToTheQuestion