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

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

比较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
  • zend studio 如何代码对齐?
  • PHP 中我们大量的数字用来标识类型或者状态,请问最优的解决方式是什么?
  • java 预编译 能100%的解决 sql 注入的问题么?
  • Thinkphp3.2.3在html模板中使用U方法无法解析变量
  • 【数据库设计】在线考核后台评分怎样设计好?
  • 微博的浏览次数是怎么实现的?
  • 请问下,这里为何会引发空指针异常?
  • java中Scanner的hasNext()的疑问
  • java HashMap
  • [typecho]获取 父级分类 名称?
  • 非laravel项目 使用Illuminate 怎么注册服务提供者?!