ACL-Implementation

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ACL-Implementation

    Ich bin schon seit längerem auf der Suche, war bisher aber noch nicht erfolgreich. Darum richte ich die Frage jetzt an die Allgemeinheit.
    Ich suche nach einer Implementation einer Zugriffskontrollliste. Diese soll sehr detailiert Zugriffsrechte verwalten können. Benutzer sollen mehreren Gruppen oder alternativ Rollen zuteilbar sein, welche hierarchisch voneinander Rechte erben können. Bei Ressourcen sollte diese Hierarchie ähnlich sein, eine einfache Zuordnung von Ressourcen zu Ressourcengruppen ist aber ausreichen. Jeder Subjekt-Objekt-Assoziation sollen beliebige Rechte gestattet und entzogen werden können. Zur persistenten Ablage soll eine Datenbank verwendet werden.
    Wem das jetzt zu abstrakt war, ich suche im Grunde eine Implementation mit einer der Zend_Acl-ähnlichen API. Diese ist zwar sehr gut, allerdings ohne Persistenz (klar, ACL-Instanz ist zwar serialisiert in Cache ablegbar, das ist aber alles andere als optimal). Die PhpGAcl ist ebenfalls sehr gut, auch die Persistenz in der Datenbank ist super. Allerdings ist der letzte Release von 2006, die Datenbank ohne Fremdschlüsselverweise, ADOdb als Abstraktionsschicht, Smarty im Adminbereich... Dies könnte ich zwar auf die Zend_Db (wird bereits im Projekt eingesetzt) portieren, aber ich möchte gerne unnötigen Aufwand vermeiden.
    Sollte euch eine Implementation bekannt sein, am besten unter der MIT oder New BSD-Lizenz, immer her damit.

  • #2
    Ich hab' (beruflich) mal eine ACL gebaut, die eine beliebige Baumstruktur abbilden und verrechten konnte –*dazu waren auch Attribute für jeden Knoten möglich. Konkret benötigte ich dass, um feine Zugriffe auf "Seitenbereich-Modul-Controller-Action"-Strukturen abbilden zu können (theoretisch natürlich auch noch tiefer, wenn man wollte, war dann aber doch nie nötig). Just in dieser Woche portiere ich die auf die Zend_Acl. Die kann nämlich durchaus detailliert in der Datenbank abgelegt werden –*du musst es nur dazu programmieren ;-)

    Leider kann ich das Zeug nicht rausgeben :-(
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Zitat von unset Beitrag anzeigen
      Die kann nämlich durchaus detailliert in der Datenbank abgelegt werden –*du musst es nur dazu programmieren ;-)
      Ja, ich habe auch eine Implementation mit Datenbank-Backend, die ist aber dermaßen billig, dass diese nicht in Frage kommt. Da müsste vorher noch einiges geschehen.

      Leider kann ich das Zeug nicht rausgeben :-(
      Hab ich mir leider schon gedacht. Wirklich zu schade, dass das gute Zeug immer unter Verschluss bleiben muss ^^

      Kommentar


      • #4
        Dann gib du doch deine Implementation Preis; vielleicht baut die die ja jemand schön
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Zitat von unset Beitrag anzeigen
          Dann gib du doch deine Implementation Preis; vielleicht baut die die ja jemand schön
          Ist bereits offen Die PhpGAcl-Portierung wäre - da LGPL - dann ebenfalls offen. Allerdings ist eine LGPL in einem kommerziellen Projekt so direkt eh immer etwas problematisch. Das wäre also nur eine Plugin-Lösung, Standardimplementation wäre eine serialisierte Zend_Acl aus dem Cache. Klar, Plugin direkt mit bei einer Installation beipacken, trotzdem nicht so toll.
          Naja, vielleicht kommt ja noch was.

          Kommentar

          Lädt...
          X