脚手架搭建(六)管理系统登录功能

一、登录逻辑

二、数据库设计

1. sys_account_info 系统账号信息表
CREATE TABLE `sys_account_info` (
  `account_info_id` bigint NOT NULL AUTO_INCREMENT COMMENT '账号信息主键',
  `login_account` varchar(64) NOT NULL COMMENT '登录账号',
  `login_pwd` varchar(150) NOT NULL COMMENT '登录密码',
  `salt` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '盐',
  `nick_name` varchar(64) DEFAULT NULL COMMENT '昵称',
  `account_status` tinyint(1) NOT NULL DEFAULT '2' COMMENT '账号状态:1-在用,2-禁用,3-锁定',
  `last_login_time` datetime DEFAULT NULL COMMENT '最后一次登录时间',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `create_user_id` bigint NOT NULL COMMENT '创建人主键',
  `modified_time` datetime DEFAULT NULL COMMENT '更新时间',
  `modified_user_id` bigint DEFAULT NULL COMMENT '更新人主键',
  `version` bigint NOT NULL DEFAULT '1' COMMENT '数据版本',
  `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除:0-否,1-是',
  PRIMARY KEY (`account_info_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 COMMENT='系统账号信息表';
2. sys_role_info 系统角色信息表
CREATE TABLE `sys_role_info` (
  `role_info_id` bigint NOT NULL AUTO_INCREMENT COMMENT '角色信息主键',
  `role_code` varchar(64) NOT NULL DEFAULT '' COMMENT '角色编码',
  `role_name` varchar(64) NOT NULL DEFAULT '' COMMENT '角色名称',
  `is_use` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否使用:0-否,1-是',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `create_user_id` bigint NOT NULL COMMENT '创建人主键',
  `modified_time` datetime DEFAULT NULL COMMENT '更新时间',
  `modified_user_id` bigint DEFAULT NULL COMMENT '更新人主键',
  `version` bigint NOT NULL DEFAULT '1' COMMENT '数据版本',
  `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除:0-否,1-是',
  PRIMARY KEY (`role_info_id`)
) ENGINE=InnoDB COMMENT='系统角色信息表';
3. sys_menu_info 系统菜单信息表
CREATE TABLE `sys_menu_info` (
  `menu_info_id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单信息主键',
  `menu_type` tinyint(1) NOT NULL COMMENT '菜单类型:1-模块,2-目录,3-菜单,4-按钮',
  `menu_name` varchar(64) NOT NULL COMMENT '菜单名称',
  `permission_code` varchar(100) NOT NULL COMMENT '权限编码',
  `is_use` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否使用:0-否,1-是',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `create_user_id` bigint NOT NULL COMMENT '创建人主键',
  `modified_time` datetime DEFAULT NULL COMMENT '更新时间',
  `modified_user_id` bigint DEFAULT NULL COMMENT '更新人主键',
  `version` bigint NOT NULL DEFAULT '1' COMMENT '数据版本',
  `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除:0-否,1-是',
  PRIMARY KEY (`menu_info_id`)
) ENGINE=InnoDB COMMENT='系统菜单信息表';
4. sys_account_role 账号角色关联表
CREATE TABLE `sys_account_role` (
  `account_info_id` bigint NOT NULL COMMENT '账号信息主键',
  `role_info_id` bigint NOT NULL COMMENT '角色信息主键',
  PRIMARY KEY (`account_info_id`,`role_info_id`)
) ENGINE=InnoDB COMMENT='账号角色关联表';
5. sys_role_menu 角色菜单关联表
CREATE TABLE `sys_role_menu` (
  `role_info_id` bigint NOT NULL,
  `menu_info_id` bigint NOT NULL,
  PRIMARY KEY (`role_info_id`,`menu_info_id`)
) ENGINE=InnoDB COMMENT='角色菜单关联表';

三、代码生成

1. 创建admin-common子模块

2. 在admin-common子模块中,引入basic-common子模块

3. 代码生成

四、功能实现

1. Controller

2. InnerService

3. InnerServiceImpl

4. DataService

5. DataServiceImpl

五、权限认证

1. 修改LoginInnerServiceImpl.java

2. 修改LoginDataService

3. 修改LoginDataServiceImpl

4. 修改AccountInfoMapper

5. 修改AccountInfoMapper.xml

6. 新增StpInterfaceImpl.java

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值