问问题
1096 次
1 回答
1
对于基于属性的访问控制,这将是一个很好的案例。但是,如果您不介意查看 PHP 实现,Zend 框架有一个基于角色的访问控制,它使用断言来解决更多特殊情况:
http://framework.zend.com/manual/en/zend.acl.advanced.html
标准规则将允许角色对资源执行操作。第四个参数允许仅在满足某些条件时应用规则。在伪代码中:
allow(member, view, page) // standard
allow(member, view, page, userLivesInMoscow) // assertion used
断言是传递给用户的对象。它有一个方法来检查断言是否被满足:
interface Assertion
bool public function assert()
class UserLivesIn implements Assertion
public function UserLivesIn(User, City) ...
// implementation of assert method comes here
这是一种实现您需要的方式。
于 2010-05-15T14:46:48.580 回答