node.js - Backbone.js:管理界面

标签 node.js backbone.js admin crud

我正在开发一个基于 CRUD 的数据库,它需要一些基于用户的 ACL(访问控制列表)。我们希望有一个管理访问面板,以便我们可以在需要时快速删除内容或以其他方式对其进行审核。我试图保持它的灵 active ,以便它可以是一个单独的界面,以方便起见,但也不会偏离通用用户界面,因为否则它将很难维护。

假设后端将处理 ACL,那么处理在前端创建用户界面的好方法是什么?是否有必要创建一个单独的 BB.js 接口(interface)来提供服务,还是可以向所有将被忽略的用户传递一些额外的代码?

建议或警告也将不胜感激!

最佳答案

我将您的问题解释为您希望为不同访问级别的用户提供不同的界面。因此我会:

  1. 在用户访问每个路由之前检查用户的访问权限,以确保他们没有访问不应该看到的页面

  2. 他们仍然可以尝试规避此问题(因为他们可以更改用户模型),您的后端仍然会捕获任何未经授权的请求。

  3. 您还可以根据用户访问级别有条件地显示和隐藏页面元素。

这是我的 ACL.coffee 的示例代码

acl = {}

acl['admin'] = [
    'page1',
    'page2',
    'page3',
    'page4',
    'page5'
]

acl['user'] = [
    'page1',
    'page2',
    'page3'
]

hasAccess = (route) ->
    # Get User Model
    user = window.App.user
    # Get Associated ACL
    permissions = acl[user.get('role')]
    # Check each URL for Access Privileges
    # Returns false if route not in array
    permissions.some (r) -> ~route.indexOf r

{hasAccess}

关于node.js - Backbone.js:管理界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15562291/

相关文章:

jquery - 将 jQuery 脚本添加到 Django 管理界面

javascript - Mongoose - TypeError : object is not a function

javascript - dnode 和 nowjs 有什么区别?

javascript - 将模块从 Node.js 导入 React 应用程序

node.js - gulp 抛出错误 : TypeError ('Path must be a string. Received ' + inspect(path))

backbone.js - Backbone 收集保存错误

javascript - 主干js困惑

django - 管理错误 : __str__ returned non-string (type NoneType)

javascript - 我如何为我的所有 BackboneJS 模型/集合 REST 调用添加一个基本 URL?

django - 如何在管理页面上调整django ManyToManyField小部件的大小