Announcement

Collapse
No announcement yet.

PostgreSQL, Rechte von Benutzer abfragen

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

  • PostgreSQL, Rechte von Benutzer abfragen

    Hallo!

    Unser Java Programm benutzt als Datenspeicher eine PostgreSQL Datenbank. Manche User haben Schreibrechte für die Datenbank.
    Nun würde ich gerne schon beim DB Connect eine Meldung ausgeben ob der derzeitige Benutzer Lese- oder Schreibrechte auf eine bestimmte Tabelle hat.
    Möchte nicht unbedingt ein INSERT absetzen und auf eine Fehlermeldung warten.
    Gibt es da eine komfortablere Möglichkeit?

    mfG

  • #2
    Hi Michael,

    Das geht mit JDBC über DatabaseMetaData. Z.b.

    <PRE>
    DatabaseMetaData metaData = connection.getMetaData();
    ResultSet privs = metaData.getTablePrivilege(catalog, schema, table);
    while(privs.next())
    {
    String grantee = privs.getString("GRANTEE");
    String priv = privs.getString("PRIVILEGE");
    }
    </PRE>

    grantee ist der jeweilige User, in priv steht das jeweilige Zugriffsrecht, z.b. INSERT oder DELETE. Habs mit PostgreSQL nicht getestet, sollte aber genauso klappen.

    Gruß,

    Alwi

    Comment


    • #3
      Hallo!
      Danke für deine Antwort, werde ich ausprobieren!
      mfG Michae

      Comment

      Working...
      X