Chinaunix

标题: access语句的一些体会 [打印本页]

作者: dfwddl    时间: 2009-02-26 15:35
标题: access语句的一些体会
谈一下最近在配置access语句(动态配置)时的一些体会,主要是关于<control>的
如有一控制语句
to <A>
by <B1> <C1>
by <B2> <C2> stop
by <B3> <C3> continue
by <B4> <C4> break
理解如下
1 当用户B访问的被访问条目属于<A>子句产生的集合时,控制语句的作用,基本可这样描述
if (被访问条目属于集合A)
{
  if (访问者属于集合B1)
  {
    授予C1权限;
    本access控制语句结束,并在后继access语句中被访问条目不再匹配;
  }
  else if (访问者属于集合B2)
  {
    授予C2权限;
    本access控制语句结束,并在后继access语句中被访问条目不再匹配;
  }
  else if (访问者属于集合B3)
  {
    授予C3权限;
    继续下一用户的匹配;
  }
  else if (访问者属于集合B4)
  {
    授予C4权限;
    本access语句结束,但允许后继access语句中匹配<A>;
  }
  else
  {
    //没有匹配的其他访问者
    授予none权限;
    本access控制语句结束,并在后继access语句中被访问条目不再匹配;
  }
}
2 在所有access的语句最后,有 to * by * none 这么一条
3 多条access语句可视为如上面if语句的按顺序排列

最后一个else条件及最后的默认授权需要注意
如果发现语句的实际未能达到预想效果,可能原因就在这里
可考虑显示的给所有的用户进行授权,来避免阅读access语句的理解错误

以上是个人的一点体会, 可能有不对的地方, 欢迎大家指教




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2