none
BDC und verschiedene Benutzer RRS feed

  • Frage

  • Hallo,

    ich habe bisher recht wenig Erfahrungen im Umgang mit dem Share Point. Ich habe einen MOSS 2007 SP2 im Einsatz. Ich habe eine Datenbank auf die ich per BDC zugreifen möchte. Zunächst habe ich die Datenbank auf einem SQL 2005 Server angelegt. Dann habe ich eine Datei myBDC.XML angelegt. Diese Datei habe ich "Anwendungsdefinition importieren" importiert und unter Berechtigungen habe ich folgende Rechte für Domänen-Benutzer vergeben:
    Auswählbar in Clients und Bearbeiten.
    In meinem Share Point Portal habe ich dann über ein neues Webpart Geschäftsdatenliste versucht diese Daten anzusprechen. Da bekomme ich allerdings die Fehlermeldung "Mit InfoWorkersInstance kann keine Verbindung hergestellt werden." Wenn man im Eventlog nachsieht, steht dort die Fehlermeldung:

    Es konnte keine Verbindung mithilfe von 'data source=db02;initial catalog=InfoWorkers;integrated security=SSPI;pooling=False;persist security info=false' in Anwendungsdomäne '/LM/W3SVC/1111804308/Root-1-128934296081689261' geöffnet werden. Der vollständige Ausnahmetext lautet: Fehler bei der Anmeldung für den Benutzer 'NT-AUTORITÄT\ANONYMOUS-ANMELDUNG'.

    Wenn ich allerdings versuche die Seite mit o.g. Webpart als shareadm aufzurufen, so werden die Daten vom SQL-Server abgerufen. Welche Einstellungen muss ich noch ändern.

    Vielen Dank für Eure Hilfe im Voraus

    Frank


    Donnerstag, 30. Juli 2009 14:13

Antworten

  • Hallo Frank

    beim ersten Blick, scheitert der Versuch die Daten abzurufen wegen der Anonymen Anmeldugen. Mit welchem Benutzer wurden die Daten beim ersten Versuch abgefragt?

    Eine Lösung wäre die Authentifizierungsmethode anstatt PassThrough (die Daten werden mit dem angemeldeten Benutzerkonto abgefragt) mit RevertToSelf (die Daten werden mit dem Application Pool Benutzerkonto abgefragt) zu ersetzen. Das würde heißen, dass nur ein Benutzerkonto (IIS Application Pool Konto) Zugriff auf der Datenbank benötigt.

    Die Property befindet sich in der BDC XML Datei unter der entsprechenden LobSystemInstance:

    <Property Name="AuthenticationMode" Type="System.String">
    RevertToSelf
    </Property>

    Lass uns wissen, ob es geklappt hat.

    Gruß
    Andrei
    Freitag, 31. Juli 2009 09:39
  • Hallo Andrei,

    die Verbindung zur InfoWorkers-Datenbank funktioniert solange ich die Authentifizierung auf RevertToSelf eingestellt habe. Stelle ich die Authentifizierung auf PassThrough  um, so erhalte ich immer noch folgende Fehlermeldung: [...] Fehler bei der Anmeldung für den Benutzer 'NT-AUTORITÄT\ANONYMOUS-ANMELDUNG'.
    Bevor ich die Umstellung auf PassThrough vorgenommen hatte, hatte ich der Rolle public das Recht db_datareader zugewiesen.

    Nun habe ich gelesen, dass das etwas mit der Art und Weise der Authentifizierung auf dem SQL-Server 2005 zu tun hat, dass quasi anonyme Anmeldungen nicht erlaubt sind (vgl. http://support.microsoft.com/kb/839569/en-us). Sollte man diese Umstellungen durchführen?


    Gruß

    Frank
    Freitag, 7. August 2009 07:10

Alle Antworten

  • Hallo Frank

    beim ersten Blick, scheitert der Versuch die Daten abzurufen wegen der Anonymen Anmeldugen. Mit welchem Benutzer wurden die Daten beim ersten Versuch abgefragt?

    Eine Lösung wäre die Authentifizierungsmethode anstatt PassThrough (die Daten werden mit dem angemeldeten Benutzerkonto abgefragt) mit RevertToSelf (die Daten werden mit dem Application Pool Benutzerkonto abgefragt) zu ersetzen. Das würde heißen, dass nur ein Benutzerkonto (IIS Application Pool Konto) Zugriff auf der Datenbank benötigt.

    Die Property befindet sich in der BDC XML Datei unter der entsprechenden LobSystemInstance:

    <Property Name="AuthenticationMode" Type="System.String">
    RevertToSelf
    </Property>

    Lass uns wissen, ob es geklappt hat.

    Gruß
    Andrei
    Freitag, 31. Juli 2009 09:39
  • Hallo Andrei,

    leider hat es nicht geklappt. Beim ersten Versuch wurden die Daten mit dem  Benutzer shareadm. Nach dem ich die Authentifizierung auf RevertToSelf umgestellt habe, bekomme ich folgende meldung:

    Es konnte keine Verbindung mithilfe von 'data source=db02;initial catalog=InformationWorkers;integrated security=SSPI;pooling=False;persist security info=false' in Anwendungsdomäne '/LM/W3SVC/1111804308/Root-1-128935148823274410' geöffnet werden. Der vollständige Ausnahmetext lautet: Die von der Anmeldung angeforderte "InfoWorkers"-Datenbank kann nicht geöffnet werden. Fehler bei der Anmeldung.

    Fehler bei der Anmeldung für den Benutzer 'myDomain\MossAppPool80'.

    Gruß

    Frank

    Freitag, 31. Juli 2009 12:18
  • Hallo Frank

    ok, aber wir sind jetzt einen Schritt weiter. Jetzt haben wir ein Benutzerkonto für die Anmeldung, anstatt den anonymen.

    Was für Berechtigungen hat das myDomain\MossAppPool80 Benutzerkonto auf der InfoWorkers Datenbank?

    Gruß
    Andrei
    Freitag, 31. Juli 2009 12:30
  • Hallo Andrei,

    wenn ich in die Datenbank öffne und unter Sicherheit --> Benutzer nachsehe, dann steht dort der Benutzer nicht.
    Welche Rechte müsste ich diesem Benutzer geben?

    Viele Grüße

    Frank
    Freitag, 31. Juli 2009 12:36
  • public für die Infoworks Datenbank sollte für das Lesen der Daten ausreichen. Falls das nicht klappt könntest du es testhalber mit db_owner Rechten versuchen.

    Gruß
    Andrei

    Freitag, 31. Juli 2009 12:57
  • Mit der Einstellung db_owner hat es nun als shreadm geklappt. Nun muss es nur noch als "normaler" Benutzer klappen. Was muss ich da einstellen?

    Gruß

    Frank
    Freitag, 31. Juli 2009 13:08
  • eigentlich sollte das soweit funktionieren mit db_owner Berechtingungen für das myDomain\MossAppPool80 Konto und die RevertToSelf Eigenschaft. Theoretisch sollten nur mit diesem Konto die Daten von der Datenbank abgerufen werden. Der angemeldete Benutzer sollte jetzt keinen Einfluß auf den Authentifizierungsprozess mehr haben.

    Ich würde auch ein iisreset ausführen, falls das möglich in der Umgebung ist.

    Was für eine Fehlermeldung kommt für den "normalen" Benutzer jetzt?

    Gruß
    Andrei
    Freitag, 31. Juli 2009 13:19
  • Hallo Frank

    wie sieht es aus? Wurde das Problem behoben?

    Gruß
    Andrei
    Montag, 3. August 2009 08:09
  • Hallo Andrei,

    ich habe den iisreset durchgeführt. Der normale Benutzer bekommt direkt auf der Webseite die Meldung.

    Sie verfügen nicht über die Berechtigung, auf dbo.T_Kunden in InfoWorkersInstance zuzugreifen. Selbst als Domänen-Administrator erhalte ich die gleiche Meldung.

    Danach habe ich folgende Änderungen durchgeführt und danach funktionierte der Zugriff auch als normaler Benutzer.

    1. Öffnen der Zentraladministration
    2. Unter der Verwaltung der Gemeinsamen Dienste die Verwaltungsseite des entsprechenden SSP geöffnet
    3. Im Bereich Geschäftsdatenkatalog die Option Entitäten auswählen anzeigen ausgewählt
    4. Über das Kontextmenü die entsprechende Entität die Berichtigungsverwaltung geöffnet
    5. Die Berechtigung "Ausführen, Auswählbar in Clients, Bearbeiten" für Domänen-Benutzer vergeben

    Gruß

    Frank
    • Bearbeitet Frank_B Montag, 3. August 2009 14:34
    Montag, 3. August 2009 14:01
  • Hallo Frank

    das passiert weil das Application Pool Konto (myDomain\MossAppPool80) nicht die nötigen Rechte hat auf der T_Kunden Datenbank hat.

    Wenn das eine Testumgebung ist, würde ich dem Application Pool Konto eine Server Role von sysadmin im SQL erteilen. Ansonsten würde ich diesen die nötigen Rechte auf jeder vom BDC benutzen Datenbank in der InfoWorkersInstance erteilen.

    Hoffe das hilft dir weiter.

    Gruß
    Andrei
    Montag, 3. August 2009 14:38
  • Hallo Andrei,

    die Verbindung zur InfoWorkers-Datenbank funktioniert solange ich die Authentifizierung auf RevertToSelf eingestellt habe. Stelle ich die Authentifizierung auf PassThrough  um, so erhalte ich immer noch folgende Fehlermeldung: [...] Fehler bei der Anmeldung für den Benutzer 'NT-AUTORITÄT\ANONYMOUS-ANMELDUNG'.
    Bevor ich die Umstellung auf PassThrough vorgenommen hatte, hatte ich der Rolle public das Recht db_datareader zugewiesen.

    Nun habe ich gelesen, dass das etwas mit der Art und Weise der Authentifizierung auf dem SQL-Server 2005 zu tun hat, dass quasi anonyme Anmeldungen nicht erlaubt sind (vgl. http://support.microsoft.com/kb/839569/en-us). Sollte man diese Umstellungen durchführen?


    Gruß

    Frank
    Freitag, 7. August 2009 07:10
  • Hallo Frank

    ja man könnte dies einschalten, aber das würde auch ein Sicherheitsrisiko für die Umgebung darstellen, da jetzt der SQL Server auf anonyme Requests antwortet.

    Jeder Benutzer könnte jetzt Daten von der betroffenen Datenbank abfragen. Das ist aber etwas das von der Arhitektur deiner Umgebung abhängt. Wenn es jetzt nur öffentliche Daten sind und der SQL Server vom Internet nicht erreichbar ist, sollte das keine so grosses Risiko mitbringen, aber wie gesagt das hängt alles von deiner Umgebung ab.

    Gruß
    Andrei
    Freitag, 7. August 2009 09:22