Announcement

Collapse
No announcement yet.

Rollen und Rechte beim Anmelden

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

  • Rollen und Rechte beim Anmelden

    Hallo

    Ich erstelle eine Adressdatenbank. Auf die Adressen sollen die unterschiedlichsten Läute mit unterschiedlichen rechten darauf zugreifen. Um dieses Problem zu vereinfachen habe ich die Rechte verschiedenen Rollen zugeteilt. Soweit so gut. Nun habe ich aber das Problem, dass wenn ich beim Anmelden an die Datenbank die Rolle des Benutzers nicht angebe ich einfach keine rechte habe auf der Datenbank. Ich kann doch jedem Benutzer mit<BR>
    <B>grant leser to user</B><BR>
    die Rechte aus einer rolle zu teilen. Wozu muss denn die Datenbank beim anmelden noch wissen welche Rolle der Benutzer hat. Mit dem obigen Befehl solte die Datenbank wisser welche Rechte dem Benutzer zu geteilt wurde. Ich befürchte, dass ich ein grosses Sicherheits problem erhalte wenn ich jedem Benutzer noch mitteilen muss mit welcher Rolle er sich anmelden muss. Denn er könnte sich ja leicht eine Rolle mit höheren Privilegien geben und schon kann er ungewolt mehr.<BR>
    Oder mache ich mit meinen Rolle irgend etwas falsch?

  • #2
    Renato,<br>
    ich glaube Du hast das Rechtemanagement noch nicht so ganz begriffen.<br>
    Stell Dir Roles als Benutzergruppen vor. Wenn Du Dich mit einer Role anmeldest, dann hast Du die Rechte der Role, nicht die des Users.<br><br>
    Beispiel:<br>
    Du hast eine Tabelle RECHTE, die wurde vom Benutzer DBOWNER angelegt.<br>
    Damit hat außer DBOWNER und SYSDBA erstmals keiner irgendein Recht, auf diese Tabelle zuzugreifen.<p>
    Jetzt legst Du eine ROLE "ABTEILUNG 1" an und gibst ihr die kompletten Rechte an dieser Tabelle.<br>
    Jetzt hat jeder x-beliebige Benutzer Zugriff auf diese Tabelle, wenn er sich mit der ROLE anmeldet, wenn nicht, hat er keine.<p>
    Und ein Benutzer kann nicht nur einer, sondern beliebig vielen Rollen zugeordnet werden.<br>
    Du kannst also mit Rollen mehr oder weniger Benutzergruppierungen erstellen.<br>
    Das wiederum heißt, dass Du bei der Anmeldung schon genau wissen solltest, ob sich der Anwender MIT oder OHNE eine Role anmeldet. <br>Diese Entscheidung kann Dir die Datenbank nicht abnehmen (es sei denn, Du gestaltest eine Art "Two-Phase-Login"; d.h. im ersten Login an der DB anmelden und aus einer Tabelle die zu verwendende Role des Users auslesen und mit dieser Info erneut an der DB anmelden... )<p>
    Ich hoffe, das hilft Dir weiter<p>
    Luc

    Comment


    • #3
      Ciao Luc

      Ich glaube wir reden nebeneinander vorbei. Ich will mit meinem Befehl einem User eine Rolle zuweisen.<BR>
      <B>grant rolle to user</B><BR>
      Das wollte ich eigentlich machen. Und wenn ich doch das Zugewiesen habe sollte doch das der Datenbank bekant sein. Oder etwa nicht? Wenn das nun zutrift dann solte doch beim Anmelden an die Datenbank nicht mehr mötig sien noch die Rolle mit zu geben. Denn die ist ja bereits bekannt. Auf jeden Fall bei Oracle geht das so. Und dort muss ich beim Anmelden auch keine Rolle angeben.

      Ich hoffe du verstehst mich jetzt.

      Gruss Renat

      Comment


      • #4
        Renato,<br>
        nein, ich mißverstehe Dich nicht<br>
        Nochmals: Ein User kann <b>beliebig vielen</b> Roles zugewiesen werden, nicht nur einer<br>
        Also kann und wird die DB auch nicht entscheiden, welche Role verwendet wird, wenn sich ein bestimmter User anmeldet, auch wenn er nur einer Role zugeordnet ist.<p>
        Luc

        Comment


        • #5
          Ach so geht das!<BR>
          Danke Lu

          Comment

          Working...
          X