人员管理与权限管理子系统(springboot+vue+shirt+论文+源码)_jsp_247

2.2.1 功能性分析

基于java web的通用权限管理系统主要包括用户管理、菜单管理、角色管理、部门管理、岗位管理、字典管理、参数设置、日志管理这八大模块。

(1)用户管理:可以对后台用户进行管理并分配角色,支持分配多个角色;

(2)菜单管理:可以实现对后台管理系统左侧菜单的管理,支持更换图标、更换名称、控制菜单显示和排序;

(3)角色管理:用于对后台用户角色进行管理,可以给角色分配指定的菜单和资源;

(4)部门管理:对部门的基本属性进行管理;

(5)岗位管理:对岗位的基本属性进行管理;

(6)字典管理:能够对系统中各字典属性的管理;

(7)参数设置:能够对系统中基础数据参数的管理,例如用户的初始密码设置;

(8)日志管理;能够查看和管理各用户的操作日志和登录日志;

3.2.3拟采用的技术方案

准备采用java开发语言的springboot+vue框架配合shiro技术来进行权限控制,mysql存储数据。

3.2.4系统总体设计

系统功能模块如图3-1所示

3.2.1 数据库概念结构设计

下图3-1是整个通用权限管理系统中主要的数据库表总E-R实体关系图。

3.2.2 数据库逻辑结构设计

通过上一小节中通用权限管理系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

 (1)参数配置信息如表3-1所示包含了参数主键id、参数名称、参数键名、参数键值、系统内置(Y是 N否)、创建者、创建时间、更新者、更新时间、备注,主要用在用户对通用权限管理系统中的基础参数数据(例如各用户的初始化密码)进行配置时使用。

表3-1 sys_config参数配置信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

config_id

int(5)

参数主键id

config_name

varchar(100)

参数名称

config_key

varchar(50)

参数键名

config_value

varchar(500)

参数键值

config_type

char(1)

系统内置(Y是 N否)

create_by

varchar(64)

'创建者

create_time

datetime

创建时间

update_by

varchar(64)

更新者

update_time

datetime

更新时间

remark

text

备注

(2)部门信息如表3-2所示包含了部门id、父级部门id、祖级列表、部门名称、显示顺序、负责人、联系电话、邮箱、部门状态(0正常 1停用)、删除标志(0代表存在 2代表删除)、创建者、创建时间、更新者、更新时间,主要用在用户创建公司内部部门信息时进行使用。

表3-2 sys_dept部门信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

dept_id

bigint(20)

部门id

parent_id

bigint(20)

父级部门id

ancestors

varchar(50)

祖级列表

dept_name

varchar(30)

部门名称

order_num

int(4)

显示顺序

leader

varchar(20)

负责人

phone

varchar(11)

联系电话

email

varchar(50)

邮箱

status

char(1)

部门状态(0正常 1停用)

del_flag

char(1)

删除标志(0代表存在 2代表删除)

create_by

varchar(64)

创建者

create_time

datetime

创建时间

update_by

varchar(64)

更新者

update_time

datetime

更新时间

(3)字典数据信息如表3-3所示包含了字典编码、字典排序、字典标签、字典键值、字典类型、样式属性(其他样式扩展)、表格回显样式、是否默认(Y是 N否)、状态(0正常 1停用)、创建者、创建时间、更新者、更新时间、备注,主要用在用户对性别、菜单显示/隐藏、分组、通知、导入/导出、强退、清空、停用时进行使用等。

表3-3 sys_dict_data字典数据信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

dict_code

bigint(20)

字典编码

dict_sort

int(4)

字典排序

dict_label

varchar(100)

字典标签

dict_value

varchar(100)

字典键值

dict_type

varchar(100)

字典类型

css_class

varchar(100)

样式属性(其他样式扩展)

list_class

varchar(100)

表格回显样式

is_default

char(1)

是否默认(Y是 N否)

status

char(1)

状态(0正常 1停用)

create_by

varchar(64)

创建者

create_time

datetime

创建时间

update_by

varchar(64)

更新者

update_time

datetime

更新时间

remark

text

备注

(4)字典类型信息如表3-4所示包含了字典主键id、字典名称、字典类型、状态(0正常 1停用)、创建者、创建时间、更新者、更新时间、备注,主要用在用户创建不同字典类型(用户性别、菜单状态、系统开关、任务状态、任务分组、系统是否、通知状态、操作类型、系统状态)信息以及后面进行使用等。

表3-4 sys_dict_type字典类型信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

dict_id

bigint(20)

字典主键id

dict_name

varchar(100)

字典名称

dict_type

varchar(100)

字典类型

status

char(1)

状态(0正常 1停用)

create_by

varchar(64)

创建者

create_time

datetime

创建时间

update_by

varchar(64)

更新者

update_time

datetime

更新时间

remark

text

备注

(5)字典类型信息如表3-5所示包含了访问ID、用户账号、登录IP地址、登录地点、浏览器类型、操作系统、登录状态(0成功 1失败)、提示消息、访问时间,主要用在记录登录系统的访问记录等。

表3-5 sys_logininfor系统访问记录信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

info_id

bigint(20)

访问ID

user_name

varchar(50)

用户账号

ipaddr

varchar(50)

登录IP地址

login_location

varchar(255)

登录地点

browser

varchar(50)

浏览器类型

os

varchar(50)

操作系统

status

char(1)

登录状态(0成功 1失败)

msg

text

提示消息

login_time

datetime

访问时间

(6)菜单权限信息如表3-6所示包含了菜单ID、菜单名称、父菜单ID、显示顺序、路由地址、组件路径、是否为外链(0是 1否)、菜单类型(M目录 C菜单 F按钮)、菜单状态(0显示 1隐藏)、菜单状态(0正常 1停用)、权限标识、菜单图标、创建者、创建时间、更新者、更新时间、备注,主要用在控制系统中每个菜单的权限信息等。

表3-6 sys_menu菜单权限信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

menu_id

bigint(20)

菜单ID

menu_name

varchar(50)

菜单名称

parent_id

bigint(20)

父菜单ID

order_num

int(4)

显示顺序

path

varchar(255)

路由地址

component

int(1)

组件路径

is_frame

char(1)

是否为外链(0是 1否)

menu_type

char(1)

菜单类型(M目录 C菜单 F按钮)

visible

char(1)

菜单状态(0显示 1隐藏)

status

char(1)

菜单状态(0正常 1停用)

perms

varchar(100)

权限标识

icon

varchar(100)

菜单图标

create_by

varchar(64)

创建者

create_time

datetime

创建时间

update_by

varchar(64)

更新者

update_time

datetime

更新时间

remark

text

备注

(7)通知公告信息如表3-7所示包含了公告ID、公告标题、公告类型(1通知 2公告)、公告内容、公告状态(0正常 1关闭)、创建者、创建时间、更新者、更新时间、备注,主要用在用户发布的系统通过公告信息等。

表3-7 sys_notice通知公告信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

notice_id

int(4)

公告ID

notice_title

varchar(50)

公告标题

notice_type

char(1)

公告类型(1通知 2公告)

notice_content

text

公告内容

status

char(1)

公告状态(0正常 1关闭)

create_by

varchar(64)

创建者

create_time

datetime

创建时间

update_by

varchar(64)

更新者

update_time

datetime

更新时间

remark

text

备注

(8)操作日志记录信息如表3-8所示包含了日志主键ID、模块标题、业务类型(0其它 1新增 2修改 3删除)、方法名称、请求方式、操作类别(0其它 1后台用户 2手机端用户)、操作人员、部门名称、请求URL、主机地址、操作地点、请求参数、返回参数、操作状态(0正常 1异常)、错误消息、操作时间,主要用在记录了所有用户的操作日志记录信息等。

表3-8 sys_oper_log操作日志记录信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

oper_id

bigint(20)

日志主键ID

title

varchar(50)

模块标题

business_type

int(2)

业务类型(0其它 1新增 2修改 3删除)

method

varchar(100)

方法名称

request_method

varchar(10)

请求方式

operator_type

int(1)

操作类别(0其它 1后台用户 2手机端用户)

oper_name

varchar(50)

操作人员

dept_name

varchar(50)

部门名称

oper_url

varchar(255)

请求URL

oper_ip

varchar(50)

主机地址

oper_location

text

操作地点

oper_param

text

请求参数

json_result

text

返回参数

status

int(1)

操作状态(0正常 1异常)

error_msg

text

错误消息

oper_time

datetime

操作时间

(9)岗位信息如表3-9所示包含了岗位ID、岗位编码、岗位名称、显示顺序、状态(0正常 1停用)、创建者、创建时间、更新者、更新时间、备注,主要用在记录了系统中各种职位信息等。

表3-9 sys_post岗位信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

oper_id

bigint(20)

岗位ID

post_code

varchar(64)

岗位编码

post_name

varchar(50)

岗位名称

post_sort

int(4)

显示顺序

status

char(1)

状态(0正常 1停用)

create_by

varchar(64)

创建者

create_time

datetime

创建时间

update_by

varchar(64)

更新者

update_time

datetime

更新时间

remark

text

备注

(10)角色信息如表3-10所示包含了角色ID、角色名称、角色权限字符串、显示顺序、数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)、角色状态(0正常 1停用)、删除标志(0代表存在 2代表删除)、创建者、创建时间、更新者、更新时间、备注,主要用在记录了系统中各种角色信息等。

表3-10 sys_role角色信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

role_id

bigint(20)

角色ID

role_name

varchar(30)

角色名称

role_key

varchar(100)

角色权限字符串

role_sort

int(4)

显示顺序

data_scope

char(1)

数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)

status

char(1)

角色状态(0正常 1停用)

del_flag

char(1)

删除标志(0代表存在 2代表删除)

create_by

varchar(64)

创建者

create_time

datetime

创建时间

update_by

varchar(64)

更新者

update_time

datetime

更新时间

remark

text

备注

(11)角色部门关联信息如表3-11所示包含了角色ID、部门ID,主要用在记录了角色和部门之间的关联等。

表3-11 sys_role_dept角色部门信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

role_id

bigint(20)

角色ID

dept_id

bigint(20)

部门ID

(12)角色菜单关联信息如表3-12所示包含了角色ID、菜单ID,主要用在记录了角色和菜单之间的关联等。

表3-12 sys_role_menu角色菜单信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

role_id

bigint(20)

角色ID

menu_id

bigint(20)

菜单ID

(13)用户信息如表3-12所示包含了用户ID、部门ID、用户账号、登录密码、用户昵称、用户类型(00系统用户)、用户邮箱、手机号码、用户性别(0男 1女 2未知)、用户头像地址、帐号状态(0正常 1停用)、删除标志(0代表存在 2代表删除)、最后登陆IP、最后登陆时间、创建者、创建时间、更新者、更新时间、备注,主要用在记录了系统中的所有用户信息等。

表3-13 sys_user用户信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

user_id

bigint(20)

用户ID

dept_id

bigint(20)

部门ID

user_name

varchar(30)

用户账号

password

varchar(30)

登录密码

nick_name

varchar(30)

用户昵称

user_type

varchar(2)

用户类型(00系统用户)

email

varchar(50)

用户邮箱

phonenumber

varchar(11)

手机号码

sex

char(1)

用户性别(0男 1女 2未知)

avatar

varchar(100)

用户头像地址

status

char(1)

帐号状态(0正常 1停用)

del_flag

char(1)

删除标志(0代表存在 2代表删除)

login_ip

varchar(50)

最后登陆IP

login_date

datetime

最后登陆时间

create_by

varchar(64)

创建者

create_time

datetime

创建时间

update_by

varchar(64)

更新者

update_time

datetime

更新时间

remark

text

备注

(14)用户岗位关联信息如表3-14所示包含了用户ID、岗位ID,主要用在记录了用户和岗位之间的关联等。

表3-14 sys_user_post用户岗位信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

user_id

bigint(20)

用户ID

post_id

bigint(20)

岗位ID

(15)用户角色关联信息如表3-15所示包含了用户ID、角色ID,主要用在记录了用户和角色之间的关联等。

表3-15 sys_user_role用户角色信息表

数据库字段名

字段类型

是否主键

是否外键

是否为空

字段含义

user_id

bigint(20)

用户ID

role_id

bigint(20)

角色ID

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值