Announcement

Collapse
No announcement yet.

Benutzerverwaltung

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

  • Benutzerverwaltung

    Hallo zusammen,

    ich stehe vor der Aufgabe, eine C/S-Datenbankanwendung zu entwickeln. Der Auftraggeber legt grossen Wert auf die Sicherheit. In dieser Beziehung meint er, dass der Zugriff jedes Mitarbeiters genau durch Rechte geregelt sein muss.

    Die DB muss OpenSource sein, er sprach von InterBase oder MySQL. Nachdem ich mich etwas eingearbeitet habe in MySQL - Interbase ist mir bekannt - war ich von der Rechtevergabe bei MySQL sehr beeindruckt. Kann man so was mit InterBase realisieren oder muss man das alles selbst im Programm festlegen?
    Vielen Dank

    Adolf Kreet

  • #2
    Hi Adolf,

    unter Firebird gibts auch eine Benutzerverwaltung. Meiner Meinung nach ist diese viel einfacher zu handhaben, als unter MySQL (MySQL ist bei mir schon sehr lange her - bin mir also ueber die Funktionalitaet nicht mehr so sicher :-) ). <p>
    Unter Firebird hast Du User und Roles zur Verfuegung, und kannst einzelnen Tabellen / Stored Procedures Rechte durch Grant hinzufuegen bzw. durch Revoke entfernen. <p>
    Wenn Du einen einzelnen Datensatz vor dem User verbergen musst, bleibt Dir meines Wissens nach nur die Moeglichkeit, den Zugriff auf die Tabellen ueber StoredProcedures oder Trigger zu loesen. Bei der Firebird 1.5 gibt es den CURRENT_USER, mit dem Du innerhalt der SP oder des Triggers ueberpruefen kannst, ob User XY Rechte an diesem Datensatz hat. Wenn nicht, kannst Du eine Exception schmeissen.<p>
    Firebird kann (wenn Unix als Server und Client einsetzt), auch die Unix User verwenden :-)

    CU Chri

    Comment


    • #3
      Hi Chris,

      danke für die schnelle Antwort. Firebird wollte ich mir auch schon anschauen, aber auf meinem Rechner zu Hause läuft SuSE 7.3. Firebird benötigt aber eine neuere glibc und ich muss mir also erst die Quellen besorgen und FB kompilieren. Am Wochenende habe ich mir das vorgenommen. Dann schaue ich mir FB an.

      Bei MySQL ist ja eine Rechtevergabe bis hinunter zu einzelnen Datenfeldern möglich. Das kann der Admin sehr leicht in den Systemtabellen einstellen. Und so eine Verwaltung kenne ich schon von dBase IV - Gott hab es selig - her.

      Vielen Dank für Deinen Tipp, schaue ich mir FB an.

      mfg
      Adolf Kree

      Comment


      • #4
        Hi Adolf,<p>
        hups, hab das Wort Interbase ueberlesen :-). Naja, was sollst.
        InterBase und Firebird sind nahezu identisch (Firebird hat nur weniger
        Bugs :-) ).<p>
        Ich empfehle Dir Firebird (anstelle der Interbase). Die ist OpenSource
        (Interbase nur die Verion 6.0). Firebird hat viele Bug Fixes, die
        InterBase nicht hat.<p>
        Ansonsten kommt das auf Deine Anwendung drauf an. Wenn Du
        Transaktionen, Trigger, und SPs verwenden willst, kommst Du nicht an
        Firebird rum. Wenn Du keine Transaktionen haben willst, ist MySQL
        auch O.K., da Firebird / InterBase durch die MGA (Multi Generationen
        Architektur - die Art, wie Firebird das multi using Problem umgeht)
        bedingt, etwas komplizierter in der Programmierung ist.<p>
        Firebird wuerd ich auch bevorzugen, wenn ich viele Daten erwarte -
        wir haben Firebird mit mehreren Millionen Datensaetzen im Einsatz
        (pro Tabelle) - und das ohne Probleme - und mit sehr guten
        Zugriffszeiten.<p>
        Chri

        Comment


        • #5
          und ganz nebenbei hat Firebird auch Feldbezogene Rechte für Updates, die kann man mit IBExpert auch verwalten. Gruss Holger Klemt www.ibexpert.co

          Comment

          Working...
          X