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