Announcement

Collapse
No announcement yet.

Berechtigungskonzept in der Dateiablage

Collapse
This topic is closed.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Berechtigungskonzept in der Dateiablage

    Guten Tag,

    Ich hätte da mal eher eine allgemeinere konzeptionelle Frage:

    Ich habe in PHP so ne kleine Dateiablage geschrieben, die aktuell noch kein direktes Berechtigungskonzept besitzt. Dies soll sich nun ändern!! Es gibt mehrere Leute die diese Dateiablage benutzen, aber sich bei dem Server halt nur mir einem FTP-Benutzer am Server anmelden, weswegen ich die Berechtigungen nicht via chmod regeln kann. Aus diesem Grund brauch ich ein eigenes Berechtigungskonzept.

    Dazu habe ich mir 2 Konzepte ausgedacht:

    1.) Ich kann die Dateiablage in einer Datenbank "mappen" und bei jedem Upload, wird dann die Datei hochgeladen und ein entsprechender Eintrag in der DB getätigt. In der DB kann ich dann zusätzliche Angaben zur Berechtigung tätigen. Nachteil ist aber, dass sollte der Upload in irgendeiner Form schief gehen, dann kann es sein, dass ich in eine Datei hochgeladen habe, aber keinen Eintrag in der DB habe, was dann aber dazu führt, dass die Datei keiner sieht. Somit kann es sein, dass sich der Server mit Trash-Daten vollmöhlt. Das würde wiederrum bedeutet, dass ich nen Cron-Job schreiben müsste, der in Regelmäßigen Abständen die Dateiablage mit der Datenbank abgleicht und alle Inkompatibilitäten rauslöscht. Finde ich genrell keine saubere Lösung!

    2.) Ich führe eine Konvention ein. Jede Datei / Ordner bekommt am Namensanfang eine ID. Diese ID bestimmt dann die Berechtigung. Die Regeln für die Berechtigungen würden dann in der DB stehen. Hierbei handelt es sich dann aber um eher allgemeingültigere Regeln, die nicht direkt dateiabhängig sind. Nachteil ist der, dass jeder, der an der Dateiablage programmiert, die Konvention auch kennen muss, damit das funktioniert. Außerdem kann es Probleme geben, sobald sich die Regeln für die Berechtigung ändern, bzw. ich die ID erweitern müsste oder sowas (also im Bezug auf die alten Datein)... Weiterhin müsste ich die paar Stellen am Anfang immer abschneiden. Für mich auch irgendwie keine saubere Lösung.

    Jetzt frage ich mich, gibt es noch andere Konzepte? Wie macht man es "richtig", oder wie löst man diese Problematik generell??? Welche anderen Konzepte gibt es noch?? Wie habt ihr das Problem gelöst??

    Ich wäre über jeden Tipp und Erfahrungsberichte sehr dankbar!!
    Gruß
    V

  • #2
    Eigentlich wollte ich ja was zu schreiben, insbesondere zu der Unlogik im Verfahren 1. Aber das ist ja nun nicht mehr notwendig

    http://www.php.de/software-design/67...teiablage.html
    Christian

    Comment


    • #3
      Eigentlich wollte ich ja was zu schreiben, insbesondere zu der Unlogik im Verfahren 1. Aber das ist ja nun nicht mehr notwendig

      http://www.php.de/software-design/67...teiablage.html
      Ähm,was hat das eine denn mit den anderen zu tun??? Seitwann ist es ein Problem, die Problematik in mehreren Foren zu diskutieren, um mehrere unterschiedliche Ansätze von unterschiedlichen Leuten einzuholen???
      Gerade in der konzeptionellen Arbeit, ist doch ein umfangreicher Gesamtüberblick besonders wichtig!!

      Gruß
      V

      Comment


      • #4
        Hallo,
        Originally posted by Der_V View Post
        Ähm,was hat das eine denn mit den anderen zu tun??? Seitwann ist es ein Problem, die Problematik in mehreren Foren zu diskutieren, um mehrere unterschiedliche Ansätze von unterschiedlichen Leuten einzuholen???
        Das ist immer ein Problem! Im Prinzip unterstellst du jedem Helfer in jedem Forum Inkompetenz. Das ist in etwa so, als wenn du jemanden um Hilfe fragst und während dieser noch eine gute Antwort überlegt, gehst du zum nächsten und fragst den auch und während der noch eine gute Antwort überlegt fragst du den Dritten. Das ist einfach hochgradig unhöflich den Helfern gegenüber, die ihre Zeit unentgeltlich für dich opfern.

        Wenn du der Meinung bist ein Thema wg. "umfangreicher Gesamtüberblick" in mehreren Foren zu diskutieren, dann sag das von vornherein und verweise ggfs. auf die anderen Threads.
        Ansonsten sehen auch wir hier Crosspostings nicht gern und deshalb -> Close!

        Gruß Falk
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment

        Working...
        X