这是一个比较复杂的过程,涉及到的技术要点很多,因此分成若*分来详述。本部分详述数据库的结构设计。
1、首先,必须创建一个user的数据表,数据表中至少包含id、username、password、enabled、accountNonExpired、accountNonLocked以及credentialsNonExpired这几项,其它字段可以根据自己需要添加,我的例子里增加了realname和email两个字段。
2、创建一个role数据表,用于保存所有角色,字段有id、nameEn(表示英文名称)、nameZh(表示中文名称)
3、创建一个user_role数据表,用于记录各用户对应的角色,字段有id、uid(表示用户编号)、rid(表示角色编号)等三个
4、创建一个menu数据表,用于存放各种路径,字段有id、pattern(表示路径)
5、创建一个menu_role数据表,用于记录角色对应的权限(即可访问的路径)
至此,所需的5个数据表全部设计完成,需要注意的是,在上例中有的id字段设计为数字类型,有的设计为文本类型,这可以根据需要修改,但是要注意相互对应,在后续编程时也要考虑其类型。
前后端分离的Web应用程序中使用Spring Security+Mybatis+JWT非对称加密+动态权限管理(一):数据库结构设计