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