Zend_ACL を使用して、ユーザーの役割に基づいて特定のコントローラーへのアクセスを制限し始めたところです。ただし、ユーザーが自分のレコードにのみアクセスできるように設定する必要があります。たとえば、私のアプリケーションでは、人々が予約を行うことができます。管理者がすべての予約を表示できる一方で、ユーザーがアプリケーションで自分の予約のみを表示できるように、ACL を使用して制限する必要があります。
アサーションの使用について読みましたが、モデルを間違った方法で使用していると思う方法がいくつかあります。これが私が典型的なモデルを設定する方法です。
<?php
class Model_Bookings extends Zend_Db_Table {
//class Variable
protected $_name = 'bookings';
protected $_primaryKey = 'id';
function _toArray($a, $index='id', $value='title') {
}
function add($data) {
}
function update($data) {
}
function delete($id) {
}
function get($id = false, $options = false) {
}
}
?>
この場合のモデルは、予約オブジェクトの単一のインスタンスに対応していません :( この場合、ACL を使用してビューを制限するときにそのようなモデルをどのように使用できますか。つまり、ユーザーがリストに移動したときにどのように設定できますか?ここで大規模なリファクタリングを行う必要がありますか? 助けてください。