龙空技术网

权限设计时必须要知道的三个原则

Java全栈进行时 1978

前言:

目前同学们对“系统权限设计原则”大体比较关注,大家都需要学习一些“系统权限设计原则”的相关资讯。那么小编也在网上搜集了一些关于“系统权限设计原则””的相关内容,希望姐妹们能喜欢,朋友们快快来了解一下吧!

设计权限系统往往需要考虑很多问题,想用一个权限系统解决所有的权限问题基本是不现实的,在设计的过程中我们一定要遵循下列原则,以免走了歪路。

1. 最小权限原则

最小权限是指在完成特定操作时,需赋予用户的必不可少的最细粒度的权限。

最小权限原则指导我们在设计权限时,权限的粒度要做到最小,保证在权限分配时,只赋予用户足够完成其工作的权限。通过最小粒度的授权来限制用户的操作行为,降低当账号被盗等情况发生时,非法操作对系统的破坏,最大程度的保护系统安全。

2. 职责分离原则

职责分离原则是指在权限分配时,要考虑权限互斥的情况,即单个用户不能同时独立完成某些特定工作,而需要由不同的用户协同完成;譬如:分配文章的创建和审核权限时,如果同时赋予一个用户,那用户自发自审情况发生时,将让审核流程没有任何意义。所以在设计系统时,我们要将权限的互斥考虑进去,通过互斥原则,直接杜绝此类问题的出现。

3. 数据抽象原则

数据抽象原则是指在权限设计时,不要单纯的以对数据的增删改查操作来定义权限,我们需要结合业务场景来定义权限;譬如:将文章的增删改权限,改为:文章的创建权限、文章的编辑权限、已发布文章的编辑权限、文章发布的权限等。通过业务场景来定义权限,使权限的粒度更加合理,更加易于理解。

标签: #系统权限设计原则