gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 02:41:08 25 4
gpt4 key购买 nike

我正在开发一个基于 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com