本人在设计过程中习惯结合现实生活,所以发现现在一些系统中的权限设计思想多为封敝式。
如下:
功能 设置用户 可访问用户
A功能 (a用户, b用户, c用户) (a用户, b用户, c用户)
B功能 (a用户, b用户) (a用户, b用户)
C功能 (a用户) (a用户)
数据量为:6条
从上面可以看出,只有设置过的用户才能访问某个功能,没有设置的肯定是不能访问其功能的。我相信没有人会反对。本应如此。
举个例子:
房地产开发商开发了n套房屋,但开发商给我们可看的房屋是没有加门的。也就是说每个人都可以看每间房屋。如果房地产开发商为每个房屋都加上门,也就是说开发商可能要准备n套房屋的钥匙。
我们知道我们去家具城家柜子,每个柜子的抽屉都是没有加锁的,只有你买回家了你才会对你想要加锁的抽屉加锁。然后你想让别人也可以打开这个抽屉,你就给他一把钥匙,那么这个人也就有了打开抽屉的权限。而其它没有加锁的抽屉对于其它人来说都是可以打开的。
这就是我想说明的一个观点:只对你控制功能进行分配权限,不想控制的功能就不必要调制。(当然这里说的不设置是一个直观的)但这里面其实还是有一个权限,那就是默认权限。我们一般默认设置每个用户是没有权限的,而我这里就是默认每个用户都有访问功能的权限。而一旦对功能进行设置权限,那默认的权限就消失。
用我的方式设计思想(开放式):
功能 设置用户 可访问用户
A功能 (a用户, b用户, c用户)
B功能 (a用户, b用户) (a用户, b用户)
C功能 (a用户) (a用户)
数据量为:3条
一种思想替代另一种思想,总需要不但的争论和实践。