求一个SQL Server数据库权限表的设计

求一个SQL Server数据库权限表的设计,第1张

角色表(角色ID、角色名称)主键:角色ID(字符串类型)

权限登陆表(种子、角色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,接下来从完善菜单管理开始逐步写。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9422547.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存