ホームページ >バックエンド開発 >PHPチュートリアル >Zend フレームワークの ACL に関する質問

Zend フレームワークの ACL に関する質問

WBOY
WBOYオリジナル
2016-06-13 13:46:04840ブラウズ

zend フレームワーク
の acl 問題については、

$acl = new Zend_Acl;
$acl->add(new Zend_Acl_Resource) のような zend_acl を使用してアクセス制御チェーンを初期化する例を見ました。 ('デフォルト '));
$acl->add(new Zend_Acl_Resource('News'));

$acl->addRole(new Zend_Acl_Role('guest')); >$acl ->addRole(new Zend_Acl_Role('user'), 'guest');
$acl->addRole(new Zend_Acl_Role('staff'), 'user'); >addRole (new Zend_Acl_Role('admin'));

$acl->allow('guest', array('Default', 'News'), 'view'); acl->allow('user', array('Default', 'News'), array('reply', 'download'));
$acl->allow('staff', array(') Default', 'News'), array('delete', 'update'));
$acl->allow('admin');

この方法は適切ではないと思いますアクセス制御の種類の比較 多くの役割や多くのリソースなど、デリケートな状況では、アクセス制御チェーンが特に長くなることがあります。

zend_acl についてどう思いますか?

ロール、リソース、権限などを毎回ロードせずにデータベースに保存するように変更したいと考えています。誰かがこれの例を持っていますか?私に勧めてください、

また、phpgacl の統合についてどう思いますか?


-----解決策--------------------------------

幸いなことに、私は zend フレームワークを試したことはありません。 ------解決策------------------

1. 多くの役割とリソースがある場合、それらを定義するときに非常に詳細になるため、それらが継承される限り、長い制御チェーンは発生しないと思います。 2. zend_acl はとても良いと思いますが、今はオブジェクト指向が提唱されていますよね。

3. 管理を容易にするために、ロール、リソース、権限をデータベースに保存するのが合理的です。ただし、アプリケーションにロードされていなければ、毎回ロードする必要があります。 『Zendframework in action』という書籍に付属するコードをオンラインでダウンロードして、参照として使用できます。

4. Zend_acl は phpgacl モデルをベースに開発されているようなので、どちらかを選択するのが良いと思います。結局のところ、Zend Framework は専門家によって開発されています。さまざまな PHP バージョンに応じて必要に応じて選択することもできます。

私の謙虚な意見です。これがお役に立てば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。