学成在线总结

简介: 学成在线总结

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


目录
相关文章
|
机器学习/深度学习 安全
深度学习McCulloch-Pitts模型
深度学习McCulloch-Pitts模型
535 0
|
定位技术
Echarts实战案例代码(10):echarts结合世界所有国家地图数据集geojson的(英文翻译映射)解决方案
Echarts实战案例代码(10):echarts结合世界所有国家地图数据集geojson的(英文翻译映射)解决方案
1391 0
Echarts实战案例代码(10):echarts结合世界所有国家地图数据集geojson的(英文翻译映射)解决方案
|
4月前
|
弹性计算 Windows
阿里云香港服务器收费价格:香港ECS和轻量应用服务器配置介绍
2025年阿里云香港服务器优惠汇总:ECS 2核4G+5M带宽仅199元/年;轻量服务器30M带宽24元/月起,200M峰值带宽25元/月起。轻量性价比高,适合个人及中小企业建站、跨境业务,具体配置价格详见官方活动页。
1904 1
|
11月前
|
Kubernetes Docker 容器
Kubernetes与Docker参数对照:理解Pod中的command、args与Dockerfile中的CMD、ENTRYPOINT。
需要明确的是,理解这些都需要对Docker和Kubernetes有一定深度的理解,才能把握二者的区别和联系。虽然它们都是容器技术的二个重要组成部分,但各有其特性和适用场景,理解它们的本质和工作方式,才能更好的使用这些工具,将各自的优点整合到生产环境中,实现软件的快速开发和部署。
447 25
|
安全 Java 开发工具
云效codeup
简要讲述云效codeup使用操作及使用感受
云效codeup
|
负载均衡 数据库 开发工具
|
消息中间件 NoSQL Java
2024年高频Java面试题集锦(含答案),让你的面试之路畅通无阻!
或许这份面试题还不足以囊括所有 Java 问题,但有了它,我相信你一定不会“败”的很惨,因为有了它,足以应对目前市面上绝大部分的 Java 面试了,因为这篇文章不论是从深度还是广度上来讲,都已经囊括了非常多的知识点了。
|
存储 网络架构
网络速率与下载速率
【8月更文挑战第8天】
3909 1
网络速率与下载速率
|
Linux 数据安全/隐私保护 Windows
centos 7.2 搭建svn服务器
centos 7.2 搭建svn服务器
562 0
|
网络协议
netstat 查看端口开放情况
netstat 查看端口开放情况
823 0