权限登陆表(种子、角色ID、用户ID、用户名、密码) 主键:种子 外键:角色表的角色ID
create table RoleDivide(
roleID varchar(40) not null, --角色ID
roleName varchar(50) not null, --角色名称
constraint RoleDividePK primary key(roleID) --设置roleID为该表的主键
)
create table RoleLogin(
seed int identity(1,1) not null, --种子
roleID varchar(40) not null, --角色ID
userID varchar(60) not null, --用户ID
userName varchar(50) not null, --用户名称
userPwd varchar(50) not null, --用户密码
constraint RoleLoginPK primary key(seed), --设置主键
constraint RoleLoginFK foreign key(roleID) references RoleDivide(roleID)
--设置外码参照表RoleDivide
)
可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统 *** 作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组”进行 *** 作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。
前后台可以正式接通以后,我们就可以设计基础的几个数据库表了,菜单表、角色表、用户表、角色菜单表和用户角色表,有这5个表我们就可以搞定用户权限。
因为要开始涉及数据库 *** 作,每个表的单表 *** 作我们都会创建Controller、Service、Entity、Mapper、MapperXML,我们先来新建数据库表结构,先建立最基础的表结构,后续有需要再完善,毕竟使用了MybatisPlus,改变结构之后只需要在实体类加属性就好了。
用户表:
角色表:
用户角色表:
菜单表:
角色菜单表:
在用户表中插入超管账号:
引入Lombok方便写实体类
新建用户相关类:
修改完善部分登录服务代码:
重启项目调用登录,控制台输出一下内容
LoginForm(username=admin, password=21232f297a57a5a743894a0e4a801fc3)
SysUserEntity(id=1, username=admin, password=admin, salt=123456, name=超级管理员, createTime=2022-01-27T17:14:16, createBy=null, updateTime=2022-01-27T17:14:16, updateBy=null)
SaLog -->: 账号[admin]登录成功
整体登录流程就是这样了,继续完善。先确定密码加密方式:
md5(md5(password)+md5(salt))
在测试类中生成密码存到数据库中
登录接口中密码已经在前端经过md5加密,所以修改后端代码
新建菜单Controller
重启登录
OK,接下来从完善菜单管理开始逐步写。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)