Uwierzytelnianie Windows za pomocą SSRS ASP.NET ReportViewer i Web Service

Mam obecnie kilka problemów z korzystaniem z SSRS. Mam witrynę ASP.NET, która używa uwierzytelniania systemu Windows. To działa dobrze i wiem, że bieżący użytkownik strony jest aktualnie zalogowanym użytkownikiem.

Na tej stronie jest Webforms ReportViewer. Działa to dobrze, gdy nie ustawiam poświadczeń. Jednak patrząc na dziennik wykonania raportów w SQL Server nazwa użytkownika jest wyświetlana jako DOMAIN MASZYNA.

Próbowałem ustawić właściwość ReportServerCredentials na klasę taką jak poniżej:

[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;
    }
}

}

Jednak po wykonaniu tego kodu otrzymuję teraz 401 z usługi WWW i usługi raportowania.

Co się dzieje? Oba są w tej samej domenie. Chcę użyć bieżącego użytkownika, a nie bieżącego komputera. Jeśli uruchomię raport na serwerze raportów, wyświetli on pod poprawną nazwą użytkownika, a nie na mojej stronie.

questionAnswers(2)

yourAnswerToTheQuestion