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

llyJava/lly-cloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

12 Commits

Repository files navigation

lly-cloud

一、背景

前后端分离已经成为互联网项目开发标准,它会为以后的大型分布式架构打下基础。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

工程名 说明
cloud-commons 数据传输对象、常量\工具类、公共常量
core-server 核心服务,必须启动的两个服务
--register-config-center 注册配置中心(Nacos)
--user-center 用户认证授权
gateway-zuul 网关
files-server 文件中心
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项目管理,模块化,

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

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

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

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

-- swagger ui 地址 这个非常重要 http://127.0.0.1:8000/swagger-ui.html

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

  • Content-Type用application/json方式,账号密码: { "username":"admin", "password":"admin", "clientId":"system", "clientSecret":"system", "scope":"app", "grantType":"password" }
    访问其他接口时再在弹窗里面输入用户名密码 admin admin就可以了

  • 获取token访问其他接口

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

-- 快速启动过程详解lly 1.各个模块建立数据库,并执行sql初始化,涉及到的模块有: nacos,nacos.sql; user_center;user_center.sql;tx_loger,tx_loger.sql;tx_manager,tx_manager.sql;cloud_files,cloud_files; 2.下载nacos-server.jar,并放到指定目录,修改nacos下/bin/startup.cmd脚本可以读取到 3.按照上面的顺序启动即可

redis默认安装是没有密码的,当在配置文件中设置密码后,这里连接也是不需要密码的,只有

注意nacos启动不了,或者启动没有后没有反应, 1.下载nacos-server.jar,放到com.cloud.RegisterConfigCenter的nacos/target/下, 2.在命令行启动,进入nacos/bin下,启动 .\startup.cmd -m standalone,观察是否启动, 报错1 java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password' 解:是因为nacos的mysql是5.7 ,而我们mysql数据是8.0,加密方式不对 1.1 修改密码 db.url.0= ,db.user=root, db.password=123 1.2 修改数据加密方式 ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY '123'; 1.3 再启动nacos 报错2 The server time zone value '�й���׼ɦ��' is unrecognized or represents more than one time zone. 解:mysql连接加上&serverTimezone=UTC

About

SpringCloud脚手架

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

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