安全权限模型

时间:2010-12-13 14:22:37

标签: security permissions

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

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

2 个答案:

答案 0 :(得分:0)

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

  1. 每个用户可能直接与一个或多个角色相关联
  2. 每个角色都有一个或多个权限
  3. 每个用户可能属于一个或多个组
  4. 每个小组都有一个或多个角色
  5. 可能感兴趣的其他模式是我们在基于Windows的系统中习惯使用的ACL(访问控制列表):

    1. 每个对象都有一个ACL,用于显示哪个用户或哪个组可以访问该对象
    2. 子对象继承父级ACL

答案 1 :(得分:0)

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

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