从数据库中检索角色然后根据 AngularJS/Knockout/Ember 中的角色显示项目的最佳做法是什么
What is the best practices to retrieve roles from database then displays item depending roles in AngularJS/Knockout/Ember
假设我在数据库中有一个table角色,管理员可以add/delete角色,为每个角色分配权限。从数据库中检索角色然后根据每个角色显示项目的最佳做法是什么。我看到了很多示例,但它们在 JS 中总是使用固定的角色
我们可以在服务器端轻松完成,但我想知道在 AngularJS/Knockout/Ember 中实现它的最佳方法
非常感谢
我过去在使用 Knockout 时所做的是一个三步法:
将一个对象写入页面(在呈现时),详细说明用户的权限。例如
var privileges = { CanView: true, CanEdit: true, CanAssignRoles: false };
编写一个通用函数,它接受一个说明所需权限的参数,它将检索上述对象并确定用户的权限是否处于所需级别。
在您的视图模型中,添加函数,例如
self.CanAssignRoles = function() { return determineAccess('CanAssignRoles'); };
然后在 HTML 绑定中引用 CanAssignRoles
。
<输入类型="checkbox" 数据绑定="visible: CanAssignRoles" />
至于如何将 privileges
对象放到页面上,这取决于您的服务器端技术(.NET、PHP、等 .).
假设我在数据库中有一个table角色,管理员可以add/delete角色,为每个角色分配权限。从数据库中检索角色然后根据每个角色显示项目的最佳做法是什么。我看到了很多示例,但它们在 JS 中总是使用固定的角色 我们可以在服务器端轻松完成,但我想知道在 AngularJS/Knockout/Ember 中实现它的最佳方法 非常感谢
我过去在使用 Knockout 时所做的是一个三步法:
将一个对象写入页面(在呈现时),详细说明用户的权限。例如
var privileges = { CanView: true, CanEdit: true, CanAssignRoles: false };
编写一个通用函数,它接受一个说明所需权限的参数,它将检索上述对象并确定用户的权限是否处于所需级别。
在您的视图模型中,添加函数,例如
self.CanAssignRoles = function() { return determineAccess('CanAssignRoles'); };
然后在 HTML 绑定中引用
CanAssignRoles
。<输入类型="checkbox" 数据绑定="visible: CanAssignRoles" />
至于如何将 privileges
对象放到页面上,这取决于您的服务器端技术(.NET、PHP、等 .).