2

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

我有一个大约有 50000 个用户的系统,这些用户按组排列,按部门排列,再按组织排列。

我的系统内容包中有。每个包都有特定的权限。即每个包都是

  1. 公共(世界),
  2. 财团(所有注册到我的系统)
  3. 私有(可以单用户+组+部门+组织任意组合访问)

为了使事情变得更难,每个内容都可能有一个先决内容,这意味着您不能在学习内容 A 之前学习内容 B(大学课程......)。

我想知道如何管理它,现在每件事都在 MySQL 中并且工作正常,只是每次我创建具有先决条件的内容时,我必须能够仅选择那些具有更宽松访问权限的内容片段作为先决条件,这意味着我在系统中拥有的每一块都需要进行大量计算(我有几千个)。

现在,想象一下我有依赖于 B 的内容 c 依赖于 A...
我向每个用户显示的目录是什么?想象当用户搜索整个系统时我必须为每个内容块做的计算。

任何已经这样做的方向/建议/已知系统?

4

1 回答 1

0

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

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

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

您将使用 XACML 来确定谁可以查看/编辑/获取某些内容。您将使用 BPEL(或 BPM 语言)来确定有关参加课程的规则,然后才能参加另一门课程。

于 2013-09-30T16:35:17.467 回答