时间: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