【问题标题】:Security Permissions Model安全权限模型
【发布时间】:2011-05-24 16:53:25
【问题描述】:

我正在开发一个桌面应用程序,并希望为某些用户锁定某些部分 - 管理员、访客、用户等。有哪些设计模式可以在桌面上实现这样的权限系统?我只能想到三个,但我不知道它们叫什么(或者它们是否是),

  1. 1) 每个动作执行 它自己的安全检查,查询 会话或数据库 适当的用户权限(在简单的网络应用中很常见)
  2. 每个 集中式行动检查 许可系统说“是 用户有 x 权限”,其中 返回一些状态
  3. 在尝试执行某个操作之前,它会被调度程序拦截,该调度程序会针对适用的权限和用户权限执行该操作的一些查找,并阻止该操作在不允许时启动

【问题讨论】:

    标签: security permissions


    【解决方案1】:

    我认为您正在寻找 RBAC(基于角色的访问控制)。我认为桌面应用程序中的访问控制概念和 Web 应用程序中的访问控制概念之间没有明显的区别。区别仅在于实现。您可能想查看集成到 Spring Security 的 Spring Rich Client Platform。 在 Spring Security 之外,我记得的 RBAC 的设计模式是:

    1. 每个用户可能直接与一个或多个角色相关联
    2. 每个角色都有一个或多个权限
    3. 每个用户可能属于一个或多个组
    4. 每个组都有一个或多个角色

    其他可能感兴趣的模式是我们在基于 Windows 的系统中习惯使用的 ACL(访问控制列表):

    1. 每个对象都有一个 ACL,显示哪些用户或哪个组有权访问该对象
    2. 子对象继承父对象的 ACL

    【讨论】:

    • 这并不是我真正想要的,但它是对我上面列出的模式的一个不错的补充。
    【解决方案2】:

    关于 ACL 和 RBAC 的区别我已经回答了类似的问题,你可以在这里查看。

    What is the exact difference between ACL and RBAC in general?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-25
      • 2011-10-02
      • 1970-01-01
      • 2023-03-23
      • 2011-03-25
      • 2012-06-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多