Autenticação do Windows com o SSRS ReportViewer do ASP.NET e serviço da Web

Estou tendo alguns problemas usando o SSRS atualmente. Eu tenho um site ASP.NET que usa a autenticação do Windows. Isso funciona bem e eu sei que o usuário atual do site é o usuário atualmente conectado.

Neste site é um ReportViewer webforms. Isso funciona bem quando eu não definir credenciais. No entanto, olhando para o log de execução dos relatórios no SQL Server, o nome de usuário é listado como DOMAIN \ MACHINE.

Eu tentei definir a propriedade ReportServerCredentials para uma classe como a abaixo:

[Serializable]
public class ReportCredentials : IReportServerCredentials   
{

    public bool GetFormsCredentials(out Cookie authCookie, out string userName, out string password, out string authority)
{
    authCookie = null;
    userName = null;
    password = null;
    authority = null;

    return false;
}

public WindowsIdentity ImpersonationUser
{
    get {
        return (WindowsIdentity)HttpContext.Current.User.Identity;
    }
}

public ICredentials NetworkCredentials
{
    get {
        return null;
    }
}

}

No entanto, quando esse código é executado, agora recebo um 401 de volta do serviço da Web e do serviço de relatório.

O que está acontecendo? Ambos estão no mesmo domínio. Eu quero usar o usuário atual e não a máquina atual. Se eu executar o relatório no servidor de relatórios, ele será listado com o nome de usuário correto, mas não do meu site.

questionAnswers(2)

yourAnswerToTheQuestion