Frage

Gibt es Open-Source, PHP based, rollenbasierte Zugangskontrollsystem, das für CodeIgniter verwendet werden kann?

War es hilfreich?

Lösung

Brandon Savage hielt einen Vortrag über seine PHP-Paket „ ApplicationACL “, die erreichen kann oder nicht rollenbasierten Zugriff. phpGACL könnte genauso gut funktionieren, aber ich kann Ihnen nicht sagen, sicher.

Was ich Ihnen sagen kann, ist jedoch die Zend_Acl Komponente der Zend Framework wird die rollenbasierte Setups tun (aber Sie werden mehrere Rollen zu überprüfen, auf einmal eine Unterklasse müssen). Zugegeben dies ist der Schmerz Sie Zend_Acl herausziehen müssen, ich glaube nicht, dass keine externen Abhängigkeiten hat, aus dem monolithischen Download (oder SVN checkout).

Das Schöne an Zend_Acl ist aber, seine Speicher Agnostiker. Sie können es entweder jedes Mal neu erstellen oder es ist entworfen, serialisiert zu werden (ich eine Kombination aus beidem verwenden, für die Cache-Serialisierung und den Wiederaufbau von der DB).

Andere Tipps

Vielleicht bin ich Missverständnis der Frage, ist aber nicht der ganze Sinn der Role-Based Access Control (RBAC) auf vermeiden Access Control Lists (ACLs)?

  

RBAC unterscheidet sich von Zugriffssteuerungslisten (ACLs) (...), dass sie Berechtigungen für bestimmte Operationen mit Bedeutung in der Organisation zuordnet, anstatt auf einem niedrigen Pegel Datenobjekte. Zum Beispiel könnte eine Zugriffssteuerungsliste verwendet werden Schreibzugriff auf eine bestimmte Systemdatei zu gewähren oder zu verweigern, aber es würde nicht sagen, auf welche Weise die Datei geändert werden könnte. In einem RBAC-basierten System kann eine Operation sein, eine ‚Kreditkonto‘ Transaktion in einer Finanzanwendung zu erstellen (...). Die Zuordnung der Berechtigung, eine bestimmte Operation auszuführen ist sinnvoll, weil die Operationen sind feinkörnig und selbst haben in der Anwendung bedeutet.   (Zitat: Wikipedia )

Ich weiß nicht, die Besonderheiten auf Zend_Acl oder den anderen Implementierungen erwähnt, aber wenn sie ACL-basiert sind, würde ich nicht empfehlen, sie für rollenbasierte Autorisierung verwendet wird.

Ich habe ein Open Source-Projekt namens PHP-Bouncer die für Sie von Interesse sein können . Es ist immer noch ziemlich jung, aber funktioniert gut und ist einfach zu konfigurieren. Ich landete es die Entwicklung, weil keiner der bestehenden Lösungen schien meine Bedürfnisse zu erfüllen. Ich hoffe, das hilft!

http://phpgacl.sourceforge.net/ ist ein allgemeiner acl basierte Zugriffskontrollrahmen

, während ich weiß nicht, über jede CI spezifische Implementierung, ich weiß, dass Sie nur die Hauptklasse Datei benötigen phpgacl Arbeit zu machen. So glaube ich, dass die Integration mit CI wird kein Problem sein. (Ich habe Arbeit passingly mit CI)

Hier sind zwei RBAC-Bibliotheken für PHP ich gefunden:

Ich habe tatsächlich die ersten in PolyAuth: https://github.com/Polycademy/PolyAuth/

Es ist eine voll funktionsfähige Auth-Bibliothek, die NIST Ebene umfasst 1 RBAC. Und ja, RBAC nicht das gleiche wie eine ACL. Ich benutze Codeigniter auch alles, was Sie tun müssen, ist die PDO-Treiber verwenden und in der Verbindungs-ID übergeben. Sehen Sie diese Anleitung dafür, wie das zu tun: http://codebyjeff.com/blog/ 2013/03 / codeigniter-mit-gu

Gefunden sich über Khaos ACL, die eine CI-Bibliothek ist ... Ich überprüfe heraus auch phpgacl und wie es zu benutzen für CI ... have'nt geprüft Zend ACL noch. Aber vielleicht kann es werden „portiert“ CI

Versuchen DX_Auth Plugin für CodeIgniter. Ich arbeite an einer ähnlichen (und nicht, Obermenge) die Funktionen, die DX_Auth hat. Mein Satz von CI AddOn enthalten Anzeige von Menüs (das über CSS gesteuert werden kann), Rollen-Basen Zugang controll vor Controller und andere Funktionen aufgerufen wird. Ich hoffe, dass es bald zu veröffentlichen. Wird Projekt URL geben, wenn ich so tun

RBAC = ACL - Roland hat die einzig richtige Antwort auf diese Frage.

BTW es ist natürlich ein wesentlicher Bestandteil eines Rahmens, jede Art von Berechtigungssystem zu implementieren - zumindest gibt es keinen Grund, einen Rahmen in Verwendung, wenn es nicht gibt Ihnen ein gut engeneered RBAC-System - es könnte besser sein, mit ein einfaches Template-System mit jeder ORM-Schicht dann.

Es ist eine gemeinsamen Antipattern in der PHP-Welt, die wie Ruby oder Django-Frameworks werden „geklont“ nur als eine Teilmenge das, was diese moderne Frameworks liefern - als typisches Syndrom einen Mangel an gutem ACL oder RBAC Integration in diese yuo zu sehen Rahmenbedingungen - was im wesentlichen ein Witz ist. Es gibt derzeit nur die Yü PHP Framework, das mit einer anständigen RBAC Umsetzung kommt.

Ich weiß, dass der Weg ist kalt, aber ein neues Projekt aufgetaucht:

PHP-RBAC ist ein PHP-Hierarchical NIST Stufe 2 Standard Role Based Access Control und ist ziemlich ausgereift. Es ist auch ein OWASP-Projekt.

Ich hoffe, Sie genießen es unter http://phprbac.net

http://www.jframework.info (Dead)

jFramework hat einen Standard NIST Level 2 RBAC mit Erweiterungen, die angeblich die schnellsten zur Verfügung stehen (inklusive Benchmarks) auf einer einzigen SQLite-Datenbank-Datei arbeiten kann und wird gründlich getestet, funktioniert wie ein Handschuh.

Hat eine Abhängigkeit von jFramework DBAL aber Sie können einfach DBAL SQL-Abfragen im Code mit Ihrem gewünschten DBAL und natürlich ersetzen können Sie jFramework in einer SOP Weise verwendet werden.

Ion Auth Bibliothek nutzt Benutzer und Gruppen - https://github.com/benedmunds/CodeIgniter- Ion-Auth aber es gibt keine funktionierende RBAC-System, sie zu nutzen und zu verwalten. Aber Sie können weiß Ihre Funktionen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top