Announcement

Collapse
No announcement yet.

Kein Zugriff auf Tabelle

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Kein Zugriff auf Tabelle

    Hallo,

    ich habe in meiner InterBase Datenbank mehrere Roles angelegt und diesen Roles User zugeordnet. Wenn ich mich nun aber mit einem Username außer SYSDBA anmelde erhalte ich keinen Zugriff mehr auf meine Tabellen. Woran kann das liegen ?

    Gruß Elke

  • #2
    Hallo,

    den Roles müssen auch Rechte vergeben werden. Roles nehmen nicht automatisch die Rechte der User an!!

    Gruss Frank Bäurl

    Comment


    • #3
      das hab ich natürlich getan. Ich hab z.B. der Role Vollzugriff alle Rechte auf allen Tabellen zugewiesen. Trotzdem erhalte ich keinen Zugriff, wenn ich mich mit dem der Role zugewiesenen UserName einlogge. Wenn ich die Rechte jedem User einzeln zuweise geht es. Nur nicht mit den Roles.

      Gruß Elk

      Comment


      • #4
        Also ich habe das mal versucht nachzuvollziehen - Es funktioniert einwandfrei. vielleicht kannst du mal ein DDL als beispiel posten.

        Comment


        • #5
          Hallo Frank,

          ich weiß zwar nicht wie Du das meinst "die DDL als Beispiel posten" aber ich schreib Dir mal auf wie ich vorgegangen bin:

          1. User in der isc4.gdb anlegen: z.B. ELSA

          2. Role auf meine Datenbank anlegen: create Role vollzugriff

          3. Rechte auf meiner Datenbank zuweisen: grant all on Mitarbstamm to vollzugriff with grant option

          grant all on Kundenstamm to vollzugriff with grant option

          usw...

          4. grant vollzugriff to ELSA

          Wenn ich nun die RDB$User_privileges anschaue ist dem User ELSA auch die Role vollzugriff zugewiesen.

          In der Tabelle Mitarbstamm unter Privileges steht die Role Vollzugriff auch mit allen Rechten.

          Und auch die Role erscheint unter "Roles".

          Für das Objekt ELSA steht in den ROLES unter Member of: "Y".

          Ich erhalte aber trotzdem keinen Zugriff auf die Tabellen, wenn ich mich mit dem Username ELSA einlogge.

          Gruß Elk

          Comment


          • #6
            Hi Elke,

            yo Du must den User auch mit Username, Role und Password anmelden. Am Standarddialog aus TDatabase heraus geht es nicht, da musst du den Parameter Role in den Params setzen.

            Dann funktioniert es auch.

            Wenn Du nur den User ohne die Role angibst, hat der User nur die Userrechte ohne die, welche er hätte wenn er sich als User mit einer Role anmeldet.

            Die DDL sind die Metadaten deiner DB (Sql-Script)

            Gruss Fran

            Comment


            • #7
              Hallo Elke,

              im Connection-String muß zusätzlich auch die Role mit angegeben werden, d.h. der Connection-String muß die Datenbank, den User, das Paßwort und die Role enthalten.

              Tschüß

              Torste

              Comment


              • #8
                Hi ihr beiden,

                Danke für eure Antwort. Jetzt funktioniert's. Es hat eigentlich schon vorher aus dem Programm funktioniert, ich hatte es aber nur aus der InterBase Console probiert. Und da ich mich da ja nicht mit der Role einloggen kann ging das natürlich nicht (jetzt weiß ich wenigstens warum).

                Also dann, liebe Grüße

                Elk

                Comment


                • #9
                  Hallo,

                  ich bins wieder. Jetzt hab ich zwar Zugriff auf die Tabellen, kann mit dem User 'ELSA' aber immer noch keinem anderen User eine Role zuweisen, obwohl ich bei Vollzugriff überall "with grant option" dazugeschrieben habe. Hab ich da was vergessen ?

                  Gruß Elk

                  Comment

                  Working...
                  X