2011-01-11 2 views
1

Also hier ist ein bisschen Kontext für die Horrorgeschichte:Berechtigungen Probleme mit SQL 2008, Berichts-Generator 2.0

  • Win 2003 SP2 64bit für Web-Zugriff auf Außenwelt auf einer VM ausgesetzt läuft.
  • SQL Server 2008 Std SP2 64 Bit mit Reporting Services (RS) für den einheitlichen Modus (d. H. Nicht im Sharepoint-Modus) installiert.
  • IIS 6 .NET 3.5 Website App geschrieben, um die Web-Services von RS zu verwenden. Die Website wurde so eingestellt, dass sie die Windows-Authentifizierung und sonst nichts verwendet.
  • Um die benutzerdefinierte Authentifizierung zu speichern, da ich sie für diese Demo nicht benötige, habe ich ein lokales Konto in Win 2003 eingerichtet, d. H. Servername \ myDemoUser, der effektiv eine gefälschte Windows-Authentifizierung zulässt.
  • Default.aspx listet Ordner auf RS und die Berichte aus jedem Ordner auf. Es hat auch eine Verbindung zum Berichts-Generator 2 auf dem Server.
  • Die rsreportserver.config wurde geändert, so dass der einzige <AuthenticationType> <RSWindowsNTLM> seit <RSWindowsNegoiate> ist, kann nicht funktionieren, da es über das Internet ist und die Nutzer nicht (das lokale Konto myDemoUser daher) im selben Netzwerk sein .
  • Die Website-App hat URL in der Form: http://mysite.mydomain.co.uk/ und der Link darauf zum Berichts-Generator hat die Form: http://mysite.mydomain.co.uk/services/reportbuilder/reportbuilder_2_0_0_0.application, in diesem Fall wurde RS so konfiguriert, dass das virtuelle Web-Services-Verzeichnis "Dienste" ist.
  • Die web.config für die Website App hat < identity impersonate = "true/> für <Standorte> für die ASPX-Seiten, die die RS Webservice zugreifen. Ich habe sogar einen < Lage path =" services/Reportbuilder“gesetzt worden ist > mit der gleichen Sache und auch anonyme Benutzer zu ermöglichen.

So, nachdem alle oben genannten ich von einer Maschine auf die Website gehen, die nicht im Netzwerk vorhanden ist, wurde ich von IE8 für Benutzername/Passwort und ich aufgefordert erhalten Geben Sie den Servernamen \ myDemoUser und das korrekte Passwort ein. Die Homepage wird angezeigt und zeigt die Liste der Ordner und Berichte von RS korrekt an. HOWEVER Wenn ich auf den Link zum Erstellen des RS-Berichts klicke, erhalte ich im Pop-Fenster die Meldung, dass er die Verifikation der clickonce-Verifikation durchführt, aber nach ein paar Sekunden zeigt er ein einfaches Meldungsfeld mit einem Authentifizierungsfehler an. Die Details-Schaltfläche zeigt dann eine Textdatei mit einer Menge StackTrace-Dateien an, in der schließlich angegeben wird, dass der Server 401 zurückgegeben hat, während er auf die oben genannte Anwendungsdatei zugegriffen hat.

Ich habe Fehlerüberwachung für Anmeldungen auf der Windows 2003-VM aktiviert, und ich kann sehen, dass wenn das clickonce fehlschlägt versucht, das lokale Computerkonto zu verwenden, das ich auf dem externen (zu meinem Netzwerk) Computer statt der Anmeldeinformationen anmeldete Ich habe den Browser auf dieser Maschine beim Testen eingegeben.

Viel Googeln und Erteilen von Berechtigungen für den Netzwerkdienst, jeder etc ... auf verschiedenen Ordnern beteiligt später nichts das Report Builder-Bit wird nur nicht über Clickonce aufgrund von Berechtigungen oder die falsche Verwendung von dort installieren.

Ich bin dabei, vielleicht etwas in der RS ​​zu ändern, um zu versuchen, Berechtigungen für den Berichtsersteller zu anonym zu gewähren, aber an diesem Punkt bin ich ziemlich pessimistisch, dass ich tatsächlich alles finden werde. Das nervige daran ist, dass dies ein Test, der nicht die letzte Sache darstellt (wir werden benutzerdefinierte Authentifizierung in RS verwenden), aber leider muss ich es tun, 8 (.

Alle Ideen würden am meisten geschätzt werden .

Antwort

0

Es stellt sich heraus, dass bei Verwendung gefälschter Windows-Authentifizierung auf diese Weise, wenn der Computer Sie die Website von einem Computer zugreifen, wo Sie nicht bei der Domäne eingeloggt sind dann ClickOnce nicht funktioniert, da es die Details nicht weitergeben wird Geben Sie den gefundenen Browser ein.

So lautet die Lösung: 1) Melden Sie sich bei einer beliebigen Domäne auf dem Computer an, der auf den Link clickonce auf Ihrer Site zugreifen soll.

2) Wechseln Sie in der Systemsteuerung zu Benutzerkonten (XP)/Benutzer und Kennwörter speichern (Win 2003), verwalten Sie die Netzwerkkennwörter für einen Benutzer (XP) und fügen Sie URL, Benutzername und Kennwort hinzu. Wenn clickonce für diese URL startet, wird der Benutzername/das Passwort anstelle des lokalen Computerkontos übergeben.

Entweder wird das oben genannte Problem lösen.