您的位置:首页 > 编程语言

权限管理编程的几种设计方式

2011-03-19 09:32 309 查看
权限管理是所有网络软件都无法逃避的功能,只要是多用户使用,就必须为特定的用户访问特定的功能设置权限,从目前的技术上看,无非如下几种:

【只设置允许权限】

针对特定组或用于,只对于授权访问的功能设置记录,这样在权限计算时,只要登录人有在权限清单中出现,则具有权限,这样处理编程比较简单,但对于配置权限的人就会非常痛苦,尤其是组织结构复杂时,如某个功能对于小组所有成员都可访问,但x除外,这样在设置时就要增加多个组,对于不太熟悉逻辑思维的日常管理人员,这样做无疑是灾难,他们宁可一个一个人用户的添加删除,也不愿用设置后自己也不知是否正确的组技术。其结果往往是放弃权限管理,大家谁都能用,或者不能用。

【可以设置一票否决的拒绝权限】

常用目录管理的网管员都知道,在目录权限配置时,是可以设置拒绝权限的,一旦设置了拒绝权限,该组内所有的成员就直接拒绝访问该目录,这样管理员就不用担心是否有不该访问的人员在配置组时误设置了访问,但这样做也带来问题,因为对组设置了拒绝后,可能本来应可以访问资源的组内用户也没法访问资源了,而且找原因来很麻烦,因此在设置拒绝时,网管员大多只对个人设拒绝,而不对组设拒绝。

【通过优先级排序确定最终权限方式】

目前我没有发现哪个软件在使用该方式,但在ISA2004服务器的过滤方式配置时,采用了此种架构,该方式的特点是一方面每条权限记录包括允许和拒绝,但实际的权限是根据权限清单中的顺序确定的结果,这种方式其原理类似于编程技巧中采用do...while(false)循环中设置if()..break的方式简化逻辑运算的方式,如果某个用户,在第1条记录中的组出现了,定义允许操作,就不再检查后面的设置,权限设置人员可以较清楚的通过制定来配置更加有效的权限管理模式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: