Проверка подлинности Windows с использованием SSRS ASP.NET ReportViewer и веб-службы
У меня есть несколько проблем с использованием SSRS в настоящее время. У меня есть веб-сайт ASP.NET, который использует проверку подлинности Windows. Это прекрасно работает, и я знаю, что текущий пользователь сайта является текущим пользователем.
На этом сайте есть веб-форма ReportViewer. Это прекрасно работает, когда я неустановить учетные данные. Однако, глядя на журнал выполнения отчетов в SQL Server, имя пользователя отображается как DOMAIN \ MACHINE.I '
мы попытались установить свойство ReportServerCredentials для класса, подобного приведенному ниже:}
[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;
}
}
Однако, когда этот код выполняется, я теперь получаю 401 обратно от веб-службы и службы отчетов.
Какие'происходит? Oни'оба в одном домене. Я хочу использовать текущего пользователя, а не текущий компьютер. Если я запускаю отчет на сервере отчетов, он выводится под правильным именем пользователя, но не с моего веб-сайта.