简单权限系统设计

简单权限系统设计

1.概述

好久没有更新博客了,大概三个原因吧,第一就是五一期间玩了很多,见见朋友,看看高中老师,和同学开黑打了很多的王者,幸好现在已经脱坑,真的是对抗不过天美这些算法工程师,被拿捏的死死的,第二点就是最近意识到自己之前的博客内容未免有些单薄,今后想做一些内容的优化,春招期间我的博客不得不说很“高产”了,最近找到了最适合自己的写作平台以及图床工具,接下来一段时间我会继续高产的,哈哈哈,最后一点就是最近做了很多调整,包括心态方面的,还有学习和生活之前的平衡问题,春招真的是身心俱疲的一件事情,在这里请个愿,希望能获得一个实习offer吧,真的是想给强东干干活😂

image-20200511160418533

不过没有实习机会也没有关系,本身准备春招的过程就是一个锻炼的过程,而且可以主观上发现自己的不足在哪里,继续弥补,继续加油,当然客观上今年的春招似乎挺难的,当然这不是借口,下面进入正题吧,因为这个被问过,所以就多说了一些

这篇文章本可以放到项目开发日志里面的, 为什么我将他单独拿出来呢,因为京东复试面试官就考了我这个问题,对自己当时的回答很不满意,对自己的表现还是有点过意不去,今天在搞学校大作业的时候到了数据库设计阶段,正好碰上了这个问题,就拿出来说一说

2.表设计

这个权限系统主要有四大要素,分别是用户、角色、权限还有资源,如果要是设计到资源的话,那么系统会相对复杂一些,对权限的要求也是比较严格,本次大作业只使用前三项就可以了

这里咱也不按照那种官腔来,什么概念设计、逻辑设计、物理设计的,只要咱能把问题描述就可以了,首先明确一下各个表还有里面的字段:

  • 用户表user:
    image-20200511162637440
  • 角色表role:

image-20200511162653455

  • 权限表permission:

image-20200511162705111

  • 用户-角色表user_role:

image-20200511163013929

  • 角色-权限表role_permission:

image-20200511163302684

在最后两张关联表中设置相应的外键即可

最后整体的结构是这样婶的:

img

这就是目前大作业中对权限的数据库设计,当然大项目中的权限系统设计可谓是相当复杂,这个还需要今后慢慢体会,刚刚还完成了前端界面的设计,作为一个对前端要求很高但是前端知识很渣的后端开发者,真的是太糟心了,不过这一次界面设计还是比较满意的:

image-20200511163828563

image-20200511163848296

好了,就这样吧,接着干活!