2010-12-13 108 views
2

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

  1. 1)每个动作进行 它自己的安全检查,查询 一个会话或数据库在 适当的用户权限(简单的Web应用程序中常见)
  2. 每个 行动检查与集中 的权限管理系统,说:“ 用户是否有X许可”,这 回报某些状态
  3. 一个动作之前,甚至企图,它被一个调度拦截她执行一些行动查询适用的权限和用户的权限,并防止行动,甚至从不允许开始时

回答

0

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

  1. 每个用户可能会直接关联到一个或多个角色
  2. 每个角色都有一个或多个权限
  3. 每个用户可能属于我们习惯于在无线网络的一个或多个组
  4. 每个组都有一个或多个角色

其他模式可能会感兴趣的ACL(访问控制列表) ndows为基础的系统:

  1. 每个对象都有一个ACL,这表明该用户或组的对象获得
  2. 子对象继承父的ACL
+0

这不是真的是我得到的,但它是一个不错的补充,我上面列出的模式。 – Dlongnecker 2010-12-16 15:05:17