记得毕业的那一年,刚进入美狐软件公司时,对系统中的权限设置很感兴趣。看了又看才明白。后来我把它用于我的个人网站。不要说我盗公司的代码,我离开公司时没有拿任何代码。我还不要了几百工资呢,因为我已很满足,也感到很幸运,能进入技术那么牛的公司,但对于我来说,级别确实太高了。且那时我自己对自己都没有信心,走出来后到其它的公司我马上有了前所未有的进步。因为后来我所在的公司的技术都远不如美狐强。
那时我们的总经理,技术总监,开发部经理都是很NB的人。比以前荷兰国家队的三剑客还强几十倍。他们用一个字符就处理了权限的问题。
在此我讨论另外一种处理方式。
权限需要分为组权限和用户个人权限,用户属于组里的成员,可以有两种设置,一是组里的用户只能拥有和组相同或比组少的权限;二是完全继承关系,用户至少拥有和组相同的权限,还可以拥有比组大的权限。
权限设置数据结构:
权限表:保存系统权限,如生产反馈,编辑BOM,等等。
组权限表:保存组权限信息。
用户权限表:保存用户权限信息。
表详细的字段信息不多说。
用户权限设置实现方式
权限的编辑方法看权限数量而定,在此介绍借肋数组编辑方法。定义二个二维数组,一个用于存储所有的权限编号。另一个用于存储权限
设置情况。情况有三个种,未分配,本级已分配,非本级已分配(指上级)
说到这,应该知道怎样实现了。
在权限设置中需要考虑的问题是多层次继承的问题。例如:小明在开发部->.NET组->测试部
那么设置小明的权限时,要先找出开发部、.NET组和测试部的权限。