phpGACL中文手册(六)

添加组

Han 觉得这个 ACL 列表看上去有点复杂,那儿有太多的例外了!也许他可以设一个"工程师"组,以便将那些有权进入发动机室和武器室的人包含在这个组里。这个组里包括 Han R2D2 ,因为他们两个都有修理发动机和武器的能力。这就意味着 Han 可以删除一些乱七八糟的例外规则,并且可以描述地再清楚

缺省:全部拒绝
千年隼号乘客

船员 [ 允许:全部 ]
│├─Han
│└─Chewie [
拒绝:发动机室 ]
├─
乘客 [ 允许:休息室 ]
├─
绝地战士 [ 允许:驾驶室 ]
││ ├─Obi-wan
││ └─Luke [
允许:武器室 ]
├─R2D2 [
允许:发动机室 ]
└─C3PO

工程师 [ 允许:发动机室,武器室 ]
   ├─Han
   └─R2D2

我们可以这样理解"缺省状态下,没有人可以进入任何房间。船员有权进入任何房间( Chewie 除外,他没权进入发动机室)。乘客只有进休息室的权限,除了绝对战士可以进入驾驶室, Luke 也有权进入武器室。工程师则被允许进入发动机室和武器室。"

最重要的是,我们现在看到 Han R2D2 ACL 列表中出现了两次。将他们放入唯一的分类中是根本没有必要的。这样的设置策略对人们来说更清楚:"啊, Han R2D2 有权进入发动机室和武器室的原因是因为他们是工程师。"

添加人

Han 去云中城会见 Lando 并得到 了一些修理。因为 Lando 是千年隼号的前主人,所以 Han 认为他有资格做船员。在码头期间, Lando 也提供了他的顶级工程师 Hontook 来帮助维修飞船。 缺省:全部拒绝
千年隼号乘客

船员 [ 允许:全部 ]
│├─Han
│├─Chewie [
拒绝:发动机室 ]
│└─Lando

├─
乘客 [ 允许:休息室 ]
├─
绝地战士 [ 允许:驾驶室 ]
││ ├─Obi-wan
││ └─Luke [
允许:武器室 ]
├─R2D2 [
允许:发动机室 ]
└─C3PO

工程师 [ 允许:发动机室,武器室 ]
├─Han
├─R2D2
└─Hontook

上例显示出添加新人的权限是多么的容易。如果我们还使用原始的权限表的话,我们将不得不为 Lando Hontook 设置到每个房间的权限。而现在,我们只需要简单将他们添加到合适的组中,他们的权限就被轻易的设定了。

你可能感兴趣的:(PHP)