私はZendとPHPには新しく、複数の内部アプリケーションを格納するポータル型アプリケーションの作業を開始する準備が整いました。私は既にZend_Authをセットアップして、Active Directory経由でログインできるようになりました。ユーザロールに基づいてZendビューの要素を表示/非表示にしますか?
Zend_Aclを使用してリソースを設定する方法について説明しましたが、ポータル内のアプリケーションごとに1つずつ設定します。表面上でZend_Aclは、私たちがリソースへの承認と階層アクセスに必要なものを処理するようです。
私はいくつかの調査の後、Zend_AclとZend_Navigationを組み合わせるのが一般的だと判明しましたが、これには時々問題があります。
フロントコントローラプラグインを利用して各リクエストのリソースアクセス/特権をチェックする代わりに、ビュー(HTML)に表示されている要素をユーザーに制御するということが要求されています。たとえば、ユーザー 'Bob'がブログアプリケーションにアクセスできない場合、BobはそのユーザーのナビメニューにBobを表示させたくありません。
このロジックをすべて紹介し、ビューのチェックが間違っている場合は、私は彼らができるだけ愚かであるべきだと思う。これを処理するより良い方法はありますか?ビューコード内のユーザー役割に基づいて条件付きで要素を表示または非表示にすることは間違っています。
似たような質問があります:http://stackoverflow.com/questions/8907820/acl-and-appearance-manipulation-of-links-forms-and-dom-elementsまた、フロントコントローラープラグインを利用する代わりに "フロントコントローラープラグインを利用することを除いて"と書いていた;) – bububaba
@bububaba確かに。説明をありがとうございます。 –