总结项目技术点(后端技术3)| 学习笔记

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 快速学习 总结项目技术点(后端技术3)

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)总结项目技术点(后端技术3)学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11564


总结项目技术点(后端技术3)


内容介绍:

一、Spring Security

二、Redis

三、Nginx

四、OAuth2+JWT

五、HttpClient

六、Cookie

七、微信登录

八、微信支付

九、阿里云 OSS

十、阿里云视频点播

十一、阿里云短信服务

十二、Git

十三、Docker+jenkins


一、SpringSecurity

(1)运用

在项目进行整合框架实现权限管理功能

主要有两个过滤器:登录过滤器和认证过滤器

(2)SpringSecurity 框架组成:

认证(登录)和授权(用户授予他的权限)

(3)SpringSecurity 登录认证过程:

第一步输入用户名与密码,输入后查询数据库,查询登录用户权限列表,

第二步成功后将用户名与用户权限列表根据 key 与 value 的形式存入到 redis 中,

第三步根据用户名返回 token 信息,通过 JWT 生成 token 字符串,第四步把 token 放到 cookie 中,在 header 放token 值,

第五步通过 springsecurity 从 token 中获取用户名,从 redis 中获取权限列表,

第六步将所有数据交给 springsecurity,再由 springsecurity 给当前用户赋予权限,可以进行相应操作。

(4)SpringSecurity 代码执行过程:第一步在输入用户名与密码之后先到认证过滤器中的

public Authentication attemptAuthentication(Https 方法获取用户名与密码,

第二步接着调用

public class UserDetailsServiceImpl implements UsersDetailsService 询类,查询后返回 security 对象,表示认证成功,

第三步到达 successful 方法中,获取返回对象,根据对象里面用户名生成 token,把用户名和权限信息放到 redis,返回生成 token,

第四步在 Password 方法中从 Header 获取 token 信息,根据 token 信息获取用户名称,再根据用户名称从 redis 查询数据,给用户进行授权。


二、Redis

(1)首页数据通过 Redis 进行缓存

(2)Redis 数据类型:字符串、set、list、哈希、有序集合

(3)使用 Redis 作为缓存,并不是所有数据都适合使用 Redis 进行缓存,例如很重要的涉及财务类的数据不能使用Redis 进行缓存,但首页数据比较固定,不经常修改则适合使用 Redis 进行缓存。

所以不太重要的或者不经常改变数据适合放到 Redis 中缓存。


三、Nginx

(1)反向代理服务器

(2)具体功能:请求转发(项目中最基本)、负载均衡、动静分离

使用 Nginx 主要是修改配置文件,在配置文件中修改规则,通过规则请求转发。


四、OAuth2+JWT

(1)OAuth2是针对特定问题的解决方案。

(2)JWT 是制定了一种规则,通过规则指定字符串。JWT 包含三部分:头、防伪标志、主体部分。


五、HttpClient

(1)HttpClient 可以理解为发送请求返回响应的工具,不需要浏览器完成请求和响应的过程。

在获取扫描人信息时,通过 HttpClientUtils 发送请求,请求微信的地址来获取信息,上述为项目的应用场景,包括微信支付查询支付状态。


六、Cookie

(1)Cookie 特点

客户端技术(信息存储到客户端或浏览器中)

每次发送请求带着 cookie 值进行发送

cookie 有默认会话级别(有效时长),关闭浏览器 cookie 默认不存在了。

可以设置 cookie 有效时长,通过 setMaxAge 来进行设置。

(2)举例:

登录界面中一般都会有十天内免登录,登录成功后再登录则不需要账户与密码,可以直接登录,如果不清楚 cookie 值则会在十天内一直有效。


七、微信登录

都是比较固定的流程,重点关注获取用户名与密码的流程。


八、微信支付

都是比较固定的流程,重点关注微信支付后查询微信支付状态。


九、阿里云 OSS

(1)文件存储服务器

(2)举例:添加讲师时上传讲师头像


十、阿里云视频点播

(1)视频上传、删除、播放

(2)播放是整合了阿里云视频播放器进行视频播放

在播放中,使用视频播放凭证进行播放,因为运用地址播放是可以播放的,但如果加密,地址播放是无效的,而视频播放凭证既可以播放加密的也可以播放不加密的。


十一、阿里云短信服务

(1)在注册时,需要发送手机验证码。


十二、Git

Git 主要用于版本控制,而现在运用的是远程库的码云,即先将代码敲到本地库中,通过本地库敲到远程库中,运用码云来进行管理控制。


十三、Docker+Jenkins

(1)手动打包运行:运用 main 等进行启动。

(2)idea 打包

(3)Jenkins 自动化部署过程

Docker+jenkins 结合用于项目自动化发布过程。

将 Docker 从远程 Git 库中将代码拉取下来,将代码进行编译再放入系统中运行。

相关文章
|
6月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
415 70
|
7月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
350 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
5月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
338 41
|
11月前
|
Web App开发 JavaScript 前端开发
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念,包括事件驱动、单线程模型和模块系统;探讨其安装配置、核心模块使用、实战应用如搭建 Web 服务器、文件操作及实时通信;分析项目结构与开发流程,讨论其优势与挑战,并通过案例展示 Node.js 在实际项目中的应用,旨在帮助开发者更好地掌握这一强大工具。
335 1
|
6月前
|
人工智能 小程序 NoSQL
【一步步开发AI运动小程序】二十一、如何将AI运动项目配置持久化到后端?
本文介绍基于云智「Ai运动识别引擎」的运动配置持久化方案,旨在优化小程序或Uni APP中AI运动识别能力。通过将运动检测参数(如`Key`、`Name`、`TickMode`、`rules`或`samples`)持久化到后端,可避免因频繁调整运动参数而重新发布应用,提升用户体验。持久化数据结构支持规则和姿态样本存储,适用于关系数据库、文件或文档数据库(如MongoDB)。此外,云智还提供运动自动适配工具及「AI乐运动」产品,助力快速实现AI体育、全民健身等场景。
|
8月前
|
SQL JavaScript 安全
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
334 11
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
|
10月前
|
缓存 负载均衡 算法
深入理解后端服务的负载均衡技术
在现代网络服务架构中,高效的负载均衡策略对于保证应用性能和可靠性至关重要。本文将深入探讨后端服务中的负载均衡技术,包括其重要性、常见算法以及如何实现高效均衡。通过分析不同的负载均衡方法,我们旨在为开发者提供实用的指导,帮助他们优化自己的系统架构。
|
11月前
|
监控 API 微服务
后端技术演进:从单体架构到微服务的转变
随着互联网应用的快速增长和用户需求的不断演化,传统单体架构已难以满足现代软件开发的需求。本文深入探讨了后端技术在面对复杂系统挑战时的演进路径,重点分析了从单体架构向微服务架构转变的过程、原因及优势。通过对比分析,揭示了微服务架构如何提高系统的可扩展性、灵活性和维护效率,同时指出了实施微服务时面临的挑战和最佳实践。
229 7
|
5月前
|
存储 消息中间件 前端开发
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
校园圈子系统校园论坛小程序采用uni-app前端框架,支持多端运行,结合PHP后端(如ThinkPHP/Laravel),实现用户认证、社交关系管理、动态发布与实时聊天功能。前端通过组件化开发和uni.request与后端交互,后端提供RESTful API处理业务逻辑并存储数据于MySQL。同时引入Redis缓存热点数据,RabbitMQ处理异步任务,优化系统性能。核心功能包括JWT身份验证、好友系统、WebSocket实时聊天及活动管理,确保高效稳定的用户体验。
338 4
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
|
10月前
|
存储 缓存 负载均衡
后端开发中的性能优化策略
本文将探讨几种常见的后端性能优化策略,包括代码层面的优化、数据库查询优化、缓存机制的应用以及负载均衡的实现。通过这些方法,开发者可以显著提升系统的响应速度和处理能力,从而提供更好的用户体验。
357 6

热门文章

最新文章