当前位置:Gxlcms > PHP教程 > 如何有选择的控制view对不同角色的展示?

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

时间:2021-07-01 10:21:17 帮助过:5人阅读

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

比较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 权限管理试试

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

ruby%w(targetResource1 targetResource2 targetResource3).each do |target|
  show target if acl.isAllowed(currentUser, target)
end

人气教程排行