根据权限在MVC视图中显示/隐藏链接

时间:2013-05-23 11:59:40

标签: php oop model-view-controller

我理解how to implement ACL and restrict access to controller methods

我不明白的是如何仅为在视图中具有特定权限的用户显示某些链接?有人可以证明这是怎么做到的吗?

我能找到的唯一相关答案是针对ASP的,这对我没有任何意义。

3 个答案:

答案 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/

您可以在任何想要限制的地方使用它 - 模型,视图,控制器甚至可以导入的辅助类。

您只需要确保您的课程已准备好在您的代码中使用。