- 论坛徽章:
- 0
|
谈一下最近在配置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语句的理解错误
以上是个人的一点体会, 可能有不对的地方, 欢迎大家指教 |
|