Вам просто нужно установить фиксированного пользователя в веб-конфигурацию вместе с адресом SSRS. Таким образом вы устанавливаете значение по умолчанию для сайта для использования, а не в зависимости от пользователя, запустившего сайт:
Пример из приложения WPF, но очень похожего на ASP.NET в коде.
<Button x:Name="btnGetViewerRemoteData" Content="Remote" Click="ReportViewerRemote_Load"/>
Ссылка имя элемента в коде позади, чтобы вы импортировать пространство имен для «Microsoft.Reporting.WinForms» (или эквивалент) ASP.NET.
private void ResetReportViewer(ProcessingMode mode)
{
this.reportViewer.Clear();
this.reportViewer.LocalReport.DataSources.Clear();
this.reportViewer.ProcessingMode = mode;
}
private ICredentials giveuser(string aUser, string aPassword, string aDomain)
{
return new NetworkCredential(aUser, aPassword, aDomain);
}
private void ReportViewerRemoteWithCred_Load(object sender, EventArgs e)
{
ResetReportViewer(ProcessingMode.Remote);
var user = giveuser("User", "Password", "Domain");
reportViewer.ServerReport.ReportServerCredentials.ImpersonationUser = (System.Security.Principal.WindowsIdentity)user;
;
reportViewer.ServerReport.ReportServerUrl = new Uri(@"http:// (server)/ReportServer");
reportViewer.ServerReport.ReportPath = "/Test/ComboTest";
DataSourceCredentials dsCrendtials = new DataSourceCredentials();
dsCrendtials.Name = "DataSource1";
dsCrendtials.UserId = "User";
dsCrendtials.Password = "Password";
reportViewer.ServerReport.SetDataSourceCredentials(new DataSourceCredentials[] { dsCrendtials });
reportViewer.RefreshReport();
}
Я жестко закодировал свой пример, но вы можете иметь сервер, пользователя и пароль в конфигурационном файле. Хотя безопасность пароля может быть проблемой, поэтому в зависимости от вашей организации, поэтому может быть предпочтительнее жестко закодировать ее или скрыть ее в первую очередь.
Почему, вместо того, чтобы полагаться на олицетворение, вы не используете свойство ReRoreViewer 'ServerReport.ReportServerCredentials' для передачи реальных учетных данных? –
Его устаревшее приложение у нас мало возможностей для новых разработчиков. Веб-URL SSRS определяется в файле web.config, а приложение использует проверку подлинности Windows. Когда пользователь выбирает параметры на веб-странице, отчет ssrs открывается с использованием этих параметров. – Sunny