- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
?
?
架构师之路-权限系统设计
?
?
权限系统设计
一个系统的核心,其中就包含权限数据管理。这一部分的设计最为复杂也是系统设计的最基础的部分。有幸我能设计这部分。下面图能说清楚权限包含哪些概念。
权限(Permission):职能权利范围。(通俗说哪些事能干,哪些事不能干)
操作权限:一般体现在通过界面登录,登录进来到控制台,更直观的权限控制。
菜单权限:用户登录后,通过菜单显示控制这个用户的权限,正常的中型系统都具备这种功能。
按钮权限:这个细粒度就比较低,一般在菜单权限控制层下面,也就是说这个用户登录到界面后,通过对增、删、改、查导出等一些按钮进行控制。
数据权限:通过数据层来控制权限,比如:我们做一个产品,A公司在用,B公司也在用,那么我们通过系统设计时候进行标识出A公司还是B公司,虽然用的功能都一样,在后台直接通过数据进行了区分。
一. 权限模型
市面上这种权限模型文章非常多,我简单的总结一下。
各有所长,各有所短。
一个好的模型并不是说越强大越好,一个好的女朋友并不是超级漂亮就一定好,当然也不能找个看一眼就想吐的,而是能包容你,有一个美丽的灵魂,温柔,善解人意…跑题了,总结一句话,够用、用起来舒服为王道。
1. 权限模型分类
英文简称
中文名称
英文全称
ACL
访问控制列表
Access Control List
DAC
任意访问控制
Discretionary Access Control
MAC
强制访问控制
Mandatory Access Control
RBAC
基于角色的权限控制
Role Based Access Control
ABAC
基于属性的权限控制
Attribute Based Access Control
PBAC
基于策略的权限控制
Policy Based Access Control
2. 权限模型说明ACLRBACABAC这个模型根据特殊的规则来分配权限, 这些规则组合了用户(users), 资源(resource)和对象(objects)的属性PBAC
用户(组)隶属于 角色,角色 隶属于 资源(项目)
3. 权限模型比较
如果说针对微商,小程序这种小服务,没有强烈需求下,ACL 这种就够用了,没必要设计的那么繁琐。
RBAC 比较常用的一种权限模型,基本上所有权限控制都能满足,唯一缺点,只要你用户需要哪怕一个权限,那你就需要一个角色,划分的比较细。
二. 数据库设计工具的使用
之前都用powerdsigner,现在自从用Mac电脑了,好多软件都改成mac习惯了,我用的是MySQL Workbentch,感觉还可以。包括对表的一些定义设置,都很方便。
?
-全文完-
文档评论(0)