我有一个单页骨干应用程序。它本质上是一个项目列表,其中包含与每个项目相关的一些数据。现在,它只对管理员用户可见,并且存在编辑,销毁链接以及一堆其他“仅管理员”功能。'
如果我想让非管理员用户可以访问该页面并让他们只看到项目和某些管理员功能,那么最好是拥有一组不同的视图,模型,模板,另一个只是隐藏的应用程序取决于用户角色?
或者只是另一组模板?
答案 0 :(得分:2)
我认为最简单,最易维护的解决方案是为管理员和非管理员用户提供单独的模板。
您应该能够使用相同的视图,但模板将确定启用了哪些功能。
同样,有多种方法可以解决这个问题,它取决于上下文,在这种情况下,我认为不同的模板是最好的方法。
答案 1 :(得分:1)
另一个简单的方法可能是使用相同的模板(相同的html),但通过CSS切换元素。
您可以在模板的根DOM元素中添加/删除类,如.admin
并使用CSS:
#my-root-element .admin-element {
display: none;
}
#my-root-element.admin .admin-element {
display: block;
}
当然,对于可能的恶意用户,这些元素仍然存在,但这不应该是一个安全问题,因为您总是应该在服务器层中有额外的安全过滤器。