Web services web应用程序的基于角色的授权系统?

Web services web应用程序的基于角色的授权系统?,web-services,authorization,acl,roles,role-base-authorization,Web Services,Authorization,Acl,Roles,Role Base Authorization,我目前正在设计一个REST风格的SQL支持的web应用程序,它支持多种类型的用户角色。我正在寻找为it实现简单而强大的授权抽象的想法 系统中的分层角色大致如下: superuser/admin -> group owner -> group user 这个系统的一个现实例子是:“我是一名学校管理员,我有我管理的教师,他们都有包含学生的班级。” 我按照UNIX模型的思路思考,除了一个管理员的数据竖井不能与另一个管理员的数据竖井重叠之外。在上面的例子中,一所学校永远不能访问另一所学校的

我目前正在设计一个REST风格的SQL支持的web应用程序,它支持多种类型的用户角色。我正在寻找为it实现简单而强大的授权抽象的想法

系统中的分层角色大致如下:

superuser/admin -> group owner -> group user
这个系统的一个现实例子是:“我是一名学校管理员,我有我管理的教师,他们都有包含学生的班级。”

我按照UNIX模型的思路思考,除了一个管理员的数据竖井不能与另一个管理员的数据竖井重叠之外。在上面的例子中,一所学校永远不能访问另一所学校的数据

  • 管理员角色将对其下属的每个组和用户拥有完全的超级用户权限
  • 组所有者只能访问组本身及其下的用户
  • 一个数据思洛存储器可以有多个管理员,每个组可以有多个组所有者等
  • 管理员/组所有者/用户通常不会改变他们可以做的事情,因为他们的能力几乎是固定的。将要改变的是他们可以对哪些数据片段采取行动
我绝对肯定,必须有一些通用模式,我可以从它们开始,并围绕它们开发一个定制的授权系统,该系统可以根据我的系统需求进行微调。有ACL,有Rails CanCan沿线的库,我相信还有更多

我很想知道我的选择是什么,以及一些取舍是什么。资源、阅读资料、文章、书籍都很棒。很可能我必须为这个web应用程序实现一个类似Parse.com的API(即API客户端可以将自定义查询编写为JSON映射,这些查询将在后端转换为SQL),防止在各种不同的查询变体中进行未经授权的访问非常重要

多谢各位


另外,我要澄清的是,我实际上并不在Rails上,我使用的堆栈没有用于授权的现有库,因此我需要推出自己的库。

我将查看hartl教程以实现用户、管理员和用户级别