Web applications 设计一个复杂的访问/权限系统,我应该采取什么方法

Web applications 设计一个复杂的访问/权限系统,我应该采取什么方法,web-applications,acl,access-control,rbac,Web Applications,Acl,Access Control,Rbac,我现在正在使用PHP+MySQL,但我真的可以采用任何工具 我有一个系统,大约有50000个用户,他们被安排成小组,被安排成部门,被安排成组织 我的系统内容包中有。每个包都有特定的权限。i、 e.每个包装都是 公共世界, 联盟所有注册到我的系统 私有用户可以由单个用户+组+部门+组织的任意组合访问 为了让事情变得更难,每一个内容可能都有一个必备的内容,这意味着你不能在大学里选修内容a课程之前选修内容B 我想知道如何管理它,现在每件事都在MySQL中运行良好,只是每次我创建一个具有先决条件的内容时

我现在正在使用PHP+MySQL,但我真的可以采用任何工具

我有一个系统,大约有50000个用户,他们被安排成小组,被安排成部门,被安排成组织

我的系统内容包中有。每个包都有特定的权限。i、 e.每个包装都是

公共世界, 联盟所有注册到我的系统 私有用户可以由单个用户+组+部门+组织的任意组合访问 为了让事情变得更难,每一个内容可能都有一个必备的内容,这意味着你不能在大学里选修内容a课程之前选修内容B

我想知道如何管理它,现在每件事都在MySQL中运行良好,只是每次我创建一个具有先决条件的内容时,我必须能够选择那些具有更大访问权限的内容片段作为先决条件,这意味着我在系统中的每一个片段都要进行大量计算,我有几千个

现在,假设我有内容c,它依赖于B,它依赖于A。。。 我向每个用户显示的目录是什么?想象当用户搜索整个系统时,我必须对每个内容块进行的计算


是否有任何方向/建议/已知系统已经做到了这一点?

我意识到这个问题已经过去2年了,到目前为止,您可能已经解决了您的问题。不过,这里有一些建议可以帮助您解决所面临的问题

您需要将授权逻辑和业务逻辑外部化。这意味着您需要研究业务规则引擎和授权规则引擎

该领域的标准是用于业务流程的BPEL和用于授权的XACML


您可以使用XACML来确定谁可以查看/编辑/获取某些内容。你可以先使用BPEL或BPM语言来确定关于学习一门课程的规则,然后再学习另一门课程。

我意识到这个问题已经解决了两年多了,现在你可能已经解决了这个问题。不过,这里有一些建议可以帮助您解决所面临的问题

您需要将授权逻辑和业务逻辑外部化。这意味着您需要研究业务规则引擎和授权规则引擎

该领域的标准是用于业务流程的BPEL和用于授权的XACML

您可以使用XACML来确定谁可以查看/编辑/获取某些内容。您可以使用BPEL或BPM语言来确定关于学习一门课程的规则,然后再学习另一门课程