首页 >后端开发 >php教程 >如何有选择的控制view对不同角色的展示?

如何有选择的控制view对不同角色的展示?

WBOY
WBOY原创
2016-06-06 20:33:46992浏览

我有一个存在很多不同用户权限的项目,对于不同权限的用户有选择的展示资源,那么如何优雅的进行页面显示。

比较low的办法(我现在的),对于每个资源(resource)的显示前,都要判断是否allowed,有没有优雅的方法?
伪代码eg:
if acl.isAllowed(currentUser,targetResource1)
show targetResource1
end

if acl.isAllowed(currentUser,targetResource2)
show targetResource2
end

if acl.isAllowed(currentUser,targetResource3)
show targetResource3
end

。。。

回复内容:

我有一个存在很多不同用户权限的项目,对于不同权限的用户有选择的展示资源,那么如何优雅的进行页面显示。

比较low的办法(我现在的),对于每个资源(resource)的显示前,都要判断是否allowed,有没有优雅的方法?
伪代码eg:
if acl.isAllowed(currentUser,targetResource1)
show targetResource1
end

if acl.isAllowed(currentUser,targetResource2)
show targetResource2
end

if acl.isAllowed(currentUser,targetResource3)
show targetResource3
end

。。。

在数据库中设置不同的角色/用户对不同资源的访问控制设置
在用户登陆后根据其所属的角色获取资源访问列表
按可访问的资源列表结合页面展示UI拼装页面

rbac 权限管理试试

代码重构下是不是会好一些。

<code>ruby</code><code>%w(targetResource1 targetResource2 targetResource3).each do |target|
  show target if acl.isAllowed(currentUser, target)
end
</code>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn