Я использую ReportViewer для отображения отчетов в моем приложении Windows WPF с использованием .Net 4.0. Эти отчеты развертываются в отдельной SSRS Сервер отчетов 2008 , а не локальный компьютер. Прямо сейчас я передаю учетные данные сервера следующим образом:
string userName = configClient.Settings.Get("UserName").Value.ValueXml.InnerText;
string password = configClient.Settings.Get("Password").Value.ValueXml.InnerText;
string domain = configClient.Settings.Get("Domain").Value.ValueXml.InnerText;
IReportServerCredentials irsc = new ReportViewerCredentials(userName, password, domain);
_reportViewer.ServerReport.ReportServerCredentials.NetworkCredentials = irsc.NetworkCredentials;
Кроме того, я использую следующие параметры в ReportViewer, если он используется:
_reportViewer.ProcessingMode = ProcessingMode.Remote;
_reportViewer.ShowParameterPrompts = false;
_reportViewer.ServerReport.ReportServerUrl = new Uri(Properties.Settings.Default.ReportServer);
_reportViewer.ServerReport.ReportPath = Properties.Settings.Default.Reports;
Я использую файл конфигурации для сохранения и получения учетных данных для доступа к серверу, но я не думаю, что это безопасный способ сделать это. Я хотел бы реализовать это безопасным способом, где мне не нужно брать учетные данные от пользователя или из файла конфигурации. И локальный компьютер, и сервер будут находиться в одной сети.
Я не уверен, как это сделать, может ли это быть сделано с помощью подражания, я просто догадываюсь, поскольку у меня нет большого представления о безопасности и подражании. Также, если это возможно, могу ли я получить образец или ссылку на статью, с помощью которой я могу это сделать.
Основная идея состоит в том, чтобы не хранить имя пользователя и пароль на клиенте. Я искал решение, но то, что я получил, было очень расплывчатым по своей природе.
Пожалуйста, не закрывайте эту ветку, так как это открытый вопрос, но это важно для меня, так как я приближаюсь к крайнему сроку и работаю над слишком многими вещами одновременно. Приносим извинения за доставленные неудобства.