Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

SpringBoot+SpringCloud Oauth2+JWT+MybatisPlus实现Restful快速开发后端脚手架

Notifications You must be signed in to change notification settings

llyJava/liugh-parent

Repository files navigation

bx-cloud

#注意 由于升级到了SpringCloud,认证授权改为SpringSecurity Oauth2.0,需要SpringBoot+JWT+Shiro+MybatisPlus单项目架构的,请切换至springboot分支

一、背景

前后端分离已经成为互联网项目开发标准,它会为以后的大型分布式架构打下基础。SpringBoot使编码配置部署都变得简单,越来越多的互联网公司已经选择SpringBoot作为微服务的入门级微框架。

Spring Cloud Oauth2 Spring Cloud Security 为构建安全的SpringBoot应用提供了一系列解决方案,结合Oauth2可以实现单点登录、令牌中继、令牌交换等功能.

Mybatis-Plus是一个 Mybatis 的增强工具,有代码生成器,并且提供了类似hibernate的单表CRUD操作,又保留了mybatis的特性支持定制化 SQL。

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。

LCN并不生产事务,LCN只是本地事务的协调工.一个高性能的分布式事务框架.

项目用到的技术: Spring Boot +Spring Cloud +Spring Security Oauth2 +JWT +MybatisPlus +Mysql +Redis +Nacos +LCN +Zuul

工程名 说明
bx-commons 数据传输对象、常量\工具类、公共常量
bx-core-server 核心服务,必须启动的两个服务
--register-config-center 注册配置中心(Nacos)
--user-center 用户认证授权
bx-gateway-zuul 网关
bx-files-server 文件中心
bx-transaction-server 分布式事务服务

二、项目特性

1.自定义@Log注解自动记录日志到数据库。

2.过滤请求参数,防止XSS攻击。

3.完成微信/微博/QQ第三方登录功能,完成用户名电话邮箱三种方式登录,WebSocket实时消息推送,短信登录注册等功能.

4.完成方法限流注解,重要防刷方法被访问距离下一次时间可调节

5.自己实现轻量级工作流,用状态机完成

6.整合快捷操作excel组件,加快开发速度

三、程序逻辑

1.填写用户名密码用POST请求访问/login接口,返回token令牌等信息,失败则直接返回身份错误信息。

2.在之后需要验证身份的请求的Headers中添加Authorization和登录时返回的token令牌。

3.服务端进行token认证,失败身份错误信息。

四、运行项目

  • 通过git下载源码,本项目基于JDK1.8

  • 采用Maven项目管理,模块化,导入IDE时直接选定liugh-parent的pom导入

  • 本项目SpringCloud版,基本环境只需要启动MySQL,Redis和bx-core-server里的两个服务,其他服务根据需要启动。

  • 每个项目中的sql文件对应一个数据库先创建好。

  • 启动顺序Redis-->MySQL-->register-config-center(RegisterConfigCenter.java)-->user-center(UserCenterApplication.java)

  • 修改bootstrap.properties中注册中心\数据库等地址,更新MySQL,Redis账号和密码。

  • 访问登录接口:localhost:8000/oauth/user/token

  • Content-Type用application/json方式,账号密码: { "username":"admin", "password":"admin", "clientId":"system", "clientSecret":"system", "scope":"app", "grantType":"password" }

  • 获取token访问其他接口

  • 注意!!!!!编译器请安装lombok插件,不然会报红

运行截图:

第一次做自己的项目,经验不足,如果大家有什么好的意见或批评,请务必issue一下。

加博主进交流群,一起优化进步(或wx搜索:53182347):

About

SpringBoot+SpringCloud Oauth2+JWT+MybatisPlus实现Restful快速开发后端脚手架

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 87.4%
  • TSQL 10.6%
  • Shell 1.3%
  • Batchfile 0.7%

AltStyle によって変換されたページ (->オリジナル) /