I Report bin mit den Berichten auf meinem Windows WPF Anwendung mit .NET 4.0 zu zeigen. Diese Berichte werden auf einem separaten SSRS 2008-Berichtsserver und nicht auf dem lokalen Computer bereitgestellt. Gerade jetzt, ich bin vorbei an die Anmeldeinformationen des Servers in folgenden Weise:Wie Anmeldeinformationen übergeben in WPF-Anwendung SSRS Reportviewer 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;
Auch ich bin mit den folgenden Einstellungen mit dem Report wenn es von Nutzen ist:
_reportViewer.ProcessingMode = ProcessingMode.Remote;
_reportViewer.ShowParameterPrompts = false;
_reportViewer.ServerReport.ReportServerUrl = new Uri(Properties.Settings.Default.ReportServer);
_reportViewer.ServerReport.ReportPath = Properties.Settings.Default.Reports;
Ich bin Verwenden der Konfigurationsdatei zum Speichern und Abrufen der Anmeldeinformationen für den Serverzugriff, aber ich denke nicht, dass dies eine sichere Methode ist. Ich möchte dies auf eine sichere Weise implementieren, wo ich die Anmeldeinformationen nicht vom Benutzer oder von der Konfigurationsdatei nehmen muss. Der lokale Computer und der Server befinden sich im selben Netzwerk.
Ich bin nicht sicher, wie es geht, kann dies durch Identitätswechsel getan werden, ich rate nur, da ich nicht viel Ahnung von Sicherheit und Identitätswechsel habe. Auch wenn es möglich ist, kann ich ein Muster erhalten oder ein Link zu einem Artikel sein, durch den ich das machen kann.
Die Kernidee besteht darin, den Benutzernamen und das Passwort nicht auf dem Client zu speichern. Ich suchte nach einer Lösung, aber was ich bekam, war sehr vage in der Natur.
Bitte diesen Thread nicht schließen, da es eine offene Frage ist, aber es ist wichtig für mich, da ich mich dem Deadline annähere und zu viele Dinge gleichzeitig bearbeite. Entschuldigung für eventuelle Unannehmlichkeiten.
Ich habe einen Weg gefunden, die Anmeldeinformationen überhaupt nicht weiterzugeben und dennoch die Berichte vom Berichtsserver abzurufen, aber nicht ohne Hilfe. Ich habe eine neue Rollenzuweisung im Berichts-Manager mithilfe der URL http: //localhost/Reports/Pages/Folder.aspx konfiguriert. Wechseln Sie zur Registerkarte Eigenschaften und fügen Sie eine neue Rollenzuweisung hinzu und fügen Sie Jeder hinzu und stellen Sie das erforderliche Recht dafür bereit. Auf diese Weise würde ich keine Anmeldeinformationen vom Client für den ReportViewer übergeben müssen. Außerdem kann damit der Zugriff für ausgewählte Benutzer konfiguriert werden. –