我理解how to implement ACL and restrict access to controller methods。
我不明白的是如何仅为在视图中具有特定权限的用户显示某些链接?有人可以证明这是怎么做到的吗?
我能找到的唯一相关答案是针对ASP的,这对我没有任何意义。
答案 0 :(得分:1)
如果您根据该文章使用Zend Framework,那么请使用视图助手。调用ACL类,设置controller / user等并返回一个布尔值。
<?php if ($this->acl()->hasPermissionToViewUri()): ?>
// show uri
<?php endif ?>
答案 1 :(得分:0)
你可以这样做:
if(user->logged_in()){
$data = array( 'link' => $link1);
} else {
$data = array( 'link' => $link2);
}
View::make('some-view)->with($data);
在视图中:
<?php echo $link; ?>
这个原则你必须转移到你的mvc框架。
答案 2 :(得分:-2)
我总是在Yii(我使用的框架)上创建一个函数来检查访问权以查看或进入某些内容。
在Yii中,我这样使用它:
if (Yii::app()->user->checkAccess('restricted_zone')) {
echo 'hurray i have access!';
} else {
echo 'do not have access! :(';
}
在Yii扩展中使用的:http://www.yiiframework.com/extension/rbam/
您可以在任何想要限制的地方使用它 - 模型,视图,控制器甚至可以导入的辅助类。
您只需要确保您的课程已准备好在您的代码中使用。