26

に使用できるオープンソースのPHP basedロールベースのアクセス制御システムはありCodeIgniterますか?

4

11 に答える 11

31

質問を誤解しているのかもしれませんが、役割ベースのアクセス制御 (RBAC) の要点は、アクセス制御リスト (ACL)を回避することではないでしょうか?

RBAC は、アクセス制御リスト (ACL) (...) とは異なり、低レベルのデータ オブジェクトではなく、組織内で意味のある特定の操作にアクセス許可を割り当てます。たとえば、アクセス制御リストを使用して、特定のシステム ファイルへの書き込みアクセスを許可または拒否することはできますが、そのファイルがどのように変更されるかはわかりません。RBAC ベースのシステムでは、操作は、金融アプリケーションで「クレジット アカウント」トランザクションを作成することである可能性があります (...)。特定の操作を実行する権限の割り当ては、操作がきめ細かく、アプリケーション内で意味を持つため、意味があります。 (引用:ウィキペディア

Zend_ACL または言及されている他の実装の詳細はわかりませんが、それらが ACL ベースである場合、ロールベースの承認に使用することはお勧めしません。

于 2009-01-24T20:14:36.373 に答える
12

Brandon Savageは、彼のPHPパッケージ「 ApplicationACL 」についてプレゼンテーションを行いました。これは、役割ベースのアクセスを実現する場合と実現しない場合があります。PHPGACLも同様に機能する可能性がありますが、はっきりとは言えません。

ただし、Zend FrameworkのZend_ACLコンポーネントは、ロールベースのセットアップを実行します(ただし、複数のロールを一度にチェックするには、サブクラス化する必要があります)。これの苦痛は確かに、Zend_ACLを引き出す必要があるということです。モノリシックダウンロード(またはSVNチェックアウト)から、外部依存関係があるとは思いません。

Zend_ACLの良いところは、ストレージに依存しないことです。毎回再構築することも、シリアル化するように設計することもできます(私は両方の組み合わせを使用し、キャッシュをシリアル化し、DBから再構築します)。

于 2008-09-22T07:23:25.730 に答える
3

私はPHP-Bouncerと呼ばれるオープンソースプロジェクトを作成しました。これはあなたの興味を引くかもしれません。それはまだかなり若いですが、うまく機能し、設定が簡単です。既存のソリューションのどれも私のニーズを満たしていないようだったので、私はそれを開発することになりました。これがお役に立てば幸いです。

于 2012-07-28T13:27:32.980 に答える
1

phpgacl http://phpgacl.sourceforge.net/は、一般的な ACL ベースのアクセス制御フレームワークです。

CI固有の実装については知りませんが、phpgaclを機能させるにはメインクラスファイルだけが必要であることは知っています。したがって、CI との統合は問題ないと思います。(私はCIでパッと仕事をしました)

于 2008-09-22T07:20:12.493 に答える
1

私が見つけたPHP用の2つのRBACライブラリを次に示します。

私は実際に PolyAuth で最初のものを使用しました: https://github.com/Polycademy/PolyAuth/

これは、NIST レベル 1 RBAC を含むフル機能の認証ライブラリです。はい、RBAC は ACL と同じではありません。私も Codeigniter を使用しています。PDO ドライバーを使用して接続 ID を渡すだけです。その方法については、このチュートリアルを参照してください: http://codebyjeff.com/blog/2013/03/codeigniter-with-pdo

于 2013-05-30T22:42:48.600 に答える
0

トレイルが寒いことは知っていますが、新しいプロジェクトがポップアップしました:

PHP-RBACは、PHP階層NISTレベル2標準ロールベースのアクセス制御であり、かなり成熟しています。これはOWASPプロジェクトでもあります。

http://phprbac.netでお楽しみください

于 2013-02-28T13:32:30.427 に答える
0

CI ライブラリである Khaos ACL について知りました... phpgacl と CI での使用方法もチェックしています... Zend ACL はまだチェックしていません。しかし、CIに「移植」できるかもしれません

于 2008-09-23T08:42:49.137 に答える
0

http://www.jframework.info (デッドリンク)

jFramework には標準の NIST レベル 2 RBAC があり、単一の SQLite データベース ファイルで動作し、徹底的にテストされており、グローブのように動作します。

jFramework DBAL に依存していますが、コード内の DBAL SQL クエリを目的の DBAL に簡単に置き換えることができ、もちろん jFramework を SOP 方式で使用できます。

于 2010-08-05T06:05:35.973 に答える
0

CodeIgniter の DX_Auth プラグインを試してください。私は DX_Auth が持っている機能と同様の (むしろスーパーセット) に取り組んでいます。私の一連の CI アドオンには、メニューの表示 (CSS で制御可能)、コントローラーが呼び出される前のロールベースのアクセス制御、およびその他の機能が含まれています。近いうちに公開したいと思います。そうするときにプロジェクトのURLを提供します

于 2009-05-18T08:16:49.540 に答える
0

RBAC != ACL - Roland がこの質問に対する唯一の正解を持っています。

ところで、もちろん、あらゆる種類の許可システムを実装することは、フレームワークの不可欠な部分です。少なくとも、よく設計された RBAC システムが得られない場合、フレームワークを使用する意味はありません。単純なテンプレートを使用する方が良いかもしれません。次に、ORMレイヤーを備えたシステム。

Ruby や Django のようなフレームワークは、これらの最新のフレームワークが提供するもののサブセットとしてのみ「複製」されるというのは、PHP の世界では一般的なアンチパターンです。本質的に冗談です。現在、まともな RBAC 実装を備えた Yii PHP フレームワークしかありません。

于 2009-09-14T16:36:36.263 に答える
-1

Ion Auth ライブラリはユーザーとグループを使用します - https://github.com/benedmunds/CodeIgniter-Ion-Auth ですが、それらを使用して管理するための動作する RBAC システムはありません。ただし、関数を白くすることはできます。

于 2012-08-01T18:54:00.183 に答える