# FastSpringDev-User **Repository Path**: ijustyce/FastSpringDev-User ## Basic Information - **Project Name**: FastSpringDev-User - **Description**: 基于 kong 和 spring boot 的统一用户登录系统 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: https://www.kpromise.top - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2019-05-25 - **Last Updated**: 2022-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于 kong 和 spring boot 的统一用户登录系统 ## 搭建环境 ### 安装 docker 这部分我不赘述,具体参考 [我的博客](https://www.kpromise.top/?s=docker) ### 安装 mariadb ``` docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -itd mariadb ``` #### 创建数据库 1、进入 docker: `docker exec -it mariadb /bin/bash` 2、进入 mysql 命令行 控制台: `mysql -u root -p` 然后输入密码并按回车 3、创建数据库:`create database springDb;` 4、创建用户并授权: `grant all privileges on springDb.* to 'spring'@'%' identified by 'spring';` 5、刷新 `flush privileges;` #### 创建表 程序会自动创建表,相关代码在 resources/sql/schema-mysql.sql,配置信息请参考 application.properties 里的 ``` # spring.datasource.data=classpath:sql/data-mysql.sql spring.datasource.schema=classpath:sql/schema-mysql.sql spring.datasource.initialization-mode=always ``` ### 安装 kong 同样参考博客 [我的博客](https://www.kpromise.top/kong-microservice-api-gateway/) ### 安装 konga 同样参考博客 [我的博客](https://www.kpromise.top/konga-gui-to-kong-admin-api/) ## 配置热加载 请参考 [spring boot 热部署 – spring boot hotswap](https://www.kpromise.top/spring-boot-hotswap/) ## 全局异常处理 ### 拦截接口错误,返回自定义内容 请参考 [spring boot 全局异常拦截 并通过 webhook 发送到 钉钉机器人](https://www.kpromise.top/spring-boot-global-error/) ### 自建 sentry 并与 spring boot 集成 请参考 [自建 sentry 并与 spring boot 集成](https://www.kpromise.top/self-host-sentry-and-integration-with-spring-boot/) ## 更多文档 请查看我博客 [关于 spring boot 的文章](https://www.kpromise.top/tag/spring-boot/) ## 配置信息 ### 阿里云配置 请修改 top.kpromise.user.data.Config.AliYunAccount 的配置信息,该信息暂时不支持热更新, 所以没有写入数据。 ## 接口文档 请查阅[api 接口文档说明](./docs/api.md) ## 更新说明 ### 删除 fastJson 原因如下:[https://github.com/alibaba/fastjson/issues/1696](https://github.com/alibaba/fastjson/issues/1696 ) 现在使用默认的 Jackson ## TODO - [x] 修改 loginValue(手机号或邮箱) - [x] 重置密码 - [ ] 用户权限 - [x] 退出登录 - [x] 刷新Token - [ ] 微信登录 - [ ] 微博登录 - [ ] qq 登录 - [ ] 应用配置 - [ ] 用户管理 - [ ] 应用用户 ## 整体架构设计 ![架构设计图](./docs/images/user_login.jpg)