Zend framework2 视图中的ZF2 ACL检查链接
我已经在我的引导程序中设置了我的角色、资源和权限,并且在我的布局中基于此设置了一个导航菜单,这很有效 我现在试图做的是创建一个管理面板,如果当前登录的用户具有这些权限,则该面板包含编辑/删除链接。e、 g.我可能有多个角色可以查看cms页面列表,但只有某些角色可以编辑cms页面,只有某些角色可以删除cms页面 目前我正在检查用户是否已登录:Zend framework2 视图中的ZF2 ACL检查链接,zend-framework2,zend-acl,Zend Framework2,Zend Acl,我已经在我的引导程序中设置了我的角色、资源和权限,并且在我的布局中基于此设置了一个导航菜单,这很有效 我现在试图做的是创建一个管理面板,如果当前登录的用户具有这些权限,则该面板包含编辑/删除链接。e、 g.我可能有多个角色可以查看cms页面列表,但只有某些角色可以编辑cms页面,只有某些角色可以删除cms页面 目前我正在检查用户是否已登录: <?php if($user = $this->identity()): ?> <?php if($user['role']
<?php if($user = $this->identity()): ?>
<?php if($user['role'] == 'admin'):?>
<a href="/delete-url">Delete</a>
<?php endif;?>
<?php endif;?>
如何从视图中检查当前用户角色对任意链接的指定资源的权限(如上所述)?将ACL视图帮助器注入布局,以便检查角色是否有权访问资源,我们可以调用
$this->layout()->ACL->isAllowed
在此代码段中,我们检查用户是否已登录($this->identity()
如果未登录,则返回false
,如果登录,则返回一系列详细信息),然后检查用户是否具有资源的“删除”权限:
<?php if($user = $this->identity()); //is logged in? ?>
<?php if($this->layout()->acl->isAllowed($user['role'], $resource, 'delete')):?>
<a href="/delete-url">Delete</a>
<?php endif;?>
<?php endif;?>
isAllowed
signature isisAllowed($role=null,$resource=null,$privilege=null)
将ACL视图帮助器注入布局中,以便检查角色是否有权访问资源,我们可以调用$this->layout()->ACL->isAllowed
在此代码段中,我们检查用户是否已登录($this->identity()
如果未登录,则返回false
,如果登录,则返回一系列详细信息),然后检查用户是否具有资源的“删除”权限:
<?php if($user = $this->identity()); //is logged in? ?>
<?php if($this->layout()->acl->isAllowed($user['role'], $resource, 'delete')):?>
<a href="/delete-url">Delete</a>
<?php endif;?>
<?php endif;?>
isAllowed
签名是isAllowed($role=null,$resource=null,$privilege=null)