学成在线总结

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 学成在线总结

1、启动nginx,访问www.xuecheng.com

2、启动MongoDB:管理员身份进入cmd进入D:\Soft\MongoDB\bin

mongod --config “D:\Soft\MongoDB\mongo.conf” --install --serviceName “MongoDB”

启动:net start MongoDB

启动mongodb服务, 命令执行后,浏览器中输入http://127.0.0.1:27017看到如下界面即说明启动成功

MongoDB:root/123

打开studio3t

测试分页查询:http://localhost:31001/cms/page/list/1/10

Swagger接口测试:http://localhost:31001/swagger-ui.html

查询轮播图信息:http://localhost:31001/cms/config/getmodel/5a791725dd573c3574ee333f

测试轮播图模板:http://localhost:8088/freemarker/banner


3、启动rabbitmq:管理员身份进入D:\Soft\RabbitMQ Server\rabbitmq_server-3.7.7\sbin

安装管理插件:rabbitmq-plugins.bat enable rabbitmq_management

rabbitmq-service.bat start 启动服务

启动成功 登录RabbitMQ 进入浏览器,输入:http://localhost:15672

初始账号和密码:guest/guest


4、redis的启动

进入redis的安装目录,启动server,再启动client;

进入cmd命令行,进入D:\Soft\Redis目录。

redis-server redis.windows.conf


5、启动顺序:

申请令牌报服务器错误时需要启动以下项目:

eureka01

cms01

cmsclient

course

gateway

ucenterAuth

ucenter


登录顺序:

15-认证登录接口

16-写入Cookie

17-JWT查询

复制jwt中的内容放到Bearer后面—在xc_menu表中code字段值与findTeachplanList方法注解里的名字一致

22-通过课程编号查询课程列表–可以访问

23-查询课程列表–可以访问原因:

该方法上没有添加授权注解,spring security将不进行授权控制,只要jwt令牌合法则可以正常访问


复制jwt中的内容放到Bearer后面

jwt和redis中的jwt_token都可以


数据库密码:Followme@1234


XcServiceList:定义项目名称的常量类

SpringBoot中的日志需要引入spring-boot-starter-logging依赖,但是spring-boot-starter中已经默认包含了,所以不用再引入了。


https://www.cnblogs.com/anan-java/category/1645067.html


登录走loadUserByUsername方法


Spring-security是自动化校验


该访问路径不存在

{
“timestamp”: “2020-07-09T00:43:24.194+0000”,
“status”: 404,
“error”: “Not Found”,
“message”: “No message available”,
“path”: “/course/coursebase/get/4028858162bec7f30162bed26cd70001”
}

Netsh wlan show profile name=“408-5G” key=clear


此博客只是为了记忆相关知识点,大部分为网络上的文章,在此向各个文章的作者表示感谢!


mongdb启动:进入mongdb文件的bin目录启动mongdb.exe;

http://www.xuecheng.com/

http://www.xuecheng.com:31001/cms/page/list/1/3

http://localhost:31001/swagger-ui.html#!/cms45page45controller/findListUsingGET

复制项目后maven一下就可以了;


项目经验:

用户管理:使用用户名和密码进行登录


认证服务工程

1、pom中引入SpringCloud的security和oauth2依赖

2、user数据库中有6张表以“oauth_”开头的表,都是spring Security 自带的表


微服务接入认证,需要如下操作:

1、pom中添加oauth2依赖

2、在config包下创建ResourceServerConfig类

3、请求接口中要在http header中添加令牌

4、授权配置类ResourceServerConfig的configure方法中对请求路径进行放行


接口请求时携带JWT令牌时,就可以不用每次请求都要去请求认证服务工程,非常方便

JWT令牌由三部分组成,每部分中间使用点分隔,分别为:令牌类型Header,使用的哈希算法、负载Payload,设置过期时间戳和签名Signature,主要用于防止jwt内容被篡改,JWT令牌使用base64url进行编码


登录:

1、申请令牌

从eureka中获取认证服务的地址,设置header和body,利用restTemplate.exchange远程调用获取令牌信息:jti、refresh_token和access_token

2、令牌信息存储到redis中

将user_token:短令牌作为key,令牌信息作为value值存储到redis中并校验是否过期

3、短令牌存到Cookie

获取到短令牌jti并存储到cookie中,uid对应短令牌


退出

1、清楚cookie信息

从cookie中取出用户身份令牌uid

将cookie中maxAge设置为0

2、清楚redis信息

从redis中删除uid,token=user_token:uid,redis将token作为key,access_token作为value


查询用户信息接口:用户名

1、查询用户表

通过用户id查询用户表信息

2、查询用户权限表

通过用户id查询权限表信息

3、查询用户所属公司表

通过用户id查询用户所属公司表信息

然后拼装用户信息返回


使用Zuul网关里的ZuulFilter过滤器过滤头部是否包含Authorization,校验token的合法性,用户请求是否携带令牌

微服务之间使用feign进行远程调用,采用feign拦截器实现远程调用携带JWT


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
3月前
|
存储 安全 Java
学成在线笔记+踩坑(12)——用户认证
连接用户中心数据库、账号密码认证、验证码认证
学成在线笔记+踩坑(12)——用户认证
|
SQL 前端开发 应用服务中间件
学成在线----day2
学成在线----day2
|
3月前
|
设计模式 Java 测试技术
|
3月前
|
存储 设计模式 JSON
|
3月前
|
缓存 Java 应用服务中间件
谷粒商城笔记(13)——商城业务-检索服务
搭建页面环境、检索DSL语句、查询部分、聚合部分、SearchRequest构建、页面渲染
谷粒商城笔记(13)——商城业务-检索服务
|
7月前
|
前端开发 JavaScript SEO
学成在线制作【网页布局实战】
学成在线制作【网页布局实战】
109 0
|
前端开发 安全 Java
【开题报告】基于SpringBoot的在线茶叶购物商城的设计与实现
【开题报告】基于SpringBoot的在线茶叶购物商城的设计与实现
530 0
|
7月前
|
前端开发 JavaScript SEO
前端学成在线项目详细解析一
学成在线项目 01-项目目录 网站根目录是指存放网站的第一层文件夹,内部包含当前网站的所有素材,包含 HTML、CSS、图片、JavaScript等等。
104 0
|
7月前
|
前端开发
前端学成在线项目详细解析二
12-banner区域-课程表布局
71 0
|
7月前
|
前端开发
前端学成在线项目详细解析三
19-推荐课程-内容样式 HTML结构
62 0