首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Menu Pro Zend框架技术的访问控制?

Menu Pro Zend框架技术的访问控制?
EN

Stack Overflow用户
提问于 2013-10-21 17:44:17
回答 1查看 109关注 0票数 0

嗨,我有一个网络项目设置与Zend_Acl /基于角色的访问控制。

我的菜单表设置如下: id | INT(11) name | VARCHAR(50) access_level | VARCHAR(50)

目前,所有菜单的访问级别字段都设置为null。

在布局中:

代码语言:javascript
复制
$this->layout()->adminMenu = $this->action('render', 'menu', null, array('menu' => $this->adminMenuId));

菜单控制器的渲染操作:

代码语言:javascript
复制
public function renderAction()
    {
        $menu = $this->_request->getParam('menu');
        $mdlMenuItems = new Model_Menuitem();
        $menuItems = $mdlMenuItems->getItemByMenu($menu);

        if (count($menuItems) > 0)
        {
            foreach ($menuItems as $item)
            {
                $label = $item->label;
                if(!empty($item->link))
                {
                    $uri = $item->link;
                }
                else
                {
                    $uri = '/page/' . $item->page_id;
                }
            $itemArray[] = array(   'label' => $label,
                                    'uri' => $uri);
            }
            $container = new Zend_Navigation($itemArray);
            $this->view->navigation()->setContainer($container);
        }
    }

Acl详细信息:

代码语言:javascript
复制
            $acl->addRole(new Zend_Acl_Role('guest'));
        $acl->addRole(new Zend_Acl_Role('readonly'), 'guest');
        $acl->addRole(new Zend_Acl_Role('administrator'), 'readonly');

//设置访问规则$acl->allow(null,array('index','error'));

代码语言:javascript
复制
//guest can only read content and login
        $acl->allow('guest', 'page', array('index', 'error'));
        $acl->allow('guest', 'user', array('login'));
        $acl->deny('guest', 'menu', array('render'));
        $acl->allow('administrator', null);

我应该采取哪些步骤来确保菜单不会为来宾呈现?

EN

回答 1

Stack Overflow用户

发布于 2013-10-21 17:49:31

您可以通过以下方式访问授权用户的身份

代码语言:javascript
复制
    $auth = Zend_Auth::getInstance();
    $identity = $auth->getIdentity();
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19491078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档