2012-03-29 1 views
0

Я использую ReportViewer показать отчеты о моих окнах WPF приложение, использующее .Net 4.0. Эти отчеты развернуты на отдельном сервере отчетов SSRS 2008, а не на локальном компьютере. Сейчас я передаю полномочия сервера следующим образом:Как передать учетные данные для ReportViewer в SSRS приложения WPF 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; 

Я нахожусь используя файл конфигурации для сохранения и получения учетных данных для доступа к серверу, но я не думаю, что это безопасный способ сделать это. Я хотел бы реализовать это безопасным способом, когда мне не нужно принимать учетные данные от пользователя или из файла конфигурации. И локальная машина, и сервер будут в одной сети.

Я не уверен, как это сделать, это можно сделать с помощью олицетворения, я просто догадываюсь, поскольку у меня нет большой идеи о безопасности и олицетворении. Кроме того, если это можно сделать, могу ли я получить образец или может быть ссылкой на статью, через которую я могу это сделать.

Основная идея заключается в том, чтобы избежать сохранения имени пользователя и пароля на клиенте. Я искал решение, но то, что я получил, было очень расплывчатым по своей природе.

Пожалуйста, не закрывайте эту тему, поскольку это открытый вопрос, но это важно для меня, поскольку я приближаюсь к крайнему сроку и работаю над слишком многими вещами одновременно. Извините за неудобства, вызванные, если они есть.

+0

Я нашел способ вообще не передавать учетные данные и все еще иметь возможность получать отчеты с сервера отчетов, но не без помощи. Я настроил новое назначение роли в диспетчере отчетов, используя URL http: //localhost/Reports/Pages/Folder.aspx. Перейдите на вкладку «Свойства» и добавьте новое назначение роли и добавьте «Все» и предоставите необходимое право на него. Таким образом, мне не нужно будет передавать какие-либо учетные данные от клиента для ReportViewer. Кроме того, он может использоваться для настройки доступа для выбранных пользователей. –

ответ

0

Я нашел способ вообще не передавать учетные данные и все еще иметь возможность получать отчеты с сервера отчетов, но не без помощи.

Я настроил новое назначение роли в диспетчере отчетов, используя URL-адрес http://localhost/Reports/Pages/Folder.aspx. Перейдите на вкладку «Свойства» и добавьте новое назначение роли и добавьте «Все» и предоставите необходимое право на него.

Таким образом, мне не нужно будет передавать какие-либо учетные данные от клиента для ReportViewer. Кроме того, он может использоваться для настройки доступа для выбранных пользователей.

 Смежные вопросы

  • Нет связанных вопросов^_^