SpringBoot—使用WebSocket实现聊天功能(点对点单聊)
上一篇我们介绍了在Spring Boot框架下使用WebSocket实现消息推送,消息推送是一对多,服务器发消息发送给所有的浏览器,这次我们来看看如何使用WebSocket实现消息的一对一发送,模拟的…
SpringBoot—使用WebSocket消息推送(群聊)
WebSocket为浏览器和服务器之间提供了双工异步通信功能,也就是说我们可以利用浏览器给服务器发送消息,服务器也可以给浏览器发送消息,目前主流浏览器的主流版本对WebSocket的支持都算是比较好的…
websocket+sockjs+stompjs详解
1.http与websocket http超文本传输协议,大家都非常熟悉,http有1.0、1.1、 2.0几个版本,从http1.1起,默认都开启了Keep-Alive,保持连接持续性,简单地说,当…
WebSocket(四)—五子棋
如果之前没有接触过WebSocket,或者对WebSocket并不太熟悉,可以先阅读前面三篇文章学习! http://www.enmalvi.com/2020/04/16/websocket-3/ 游…
WebSocket(三)—群聊
我们先来看看我们今天要实现的效果: 创建Web项目 这里和上文(WebSocket刨根问底(二) )一样,web项目创建成功之后,还是要我们先手动添加websocket的jar包进来,添加方式如果小伙…
WebSocket(二)
WebSocket API有哪些 首先有一点小伙伴们需要明确,那就是WebSocket并不总是用在浏览器和服务器的通信中,只要任意两个使用框架编写,支持WebSocket的应用程序都可以创建WebSo…
WebSocket(一)
为什么要有WebSocket这个技术 大家都知道,HTML页面在刚刚开始出现的时候是静态的,不能够进行交互,后来有了JavaScript,在一定程度上解决了这个问题,但是JavaScript刚出现的时…
Spring Security—前后端分离登录,非法请求直接返回 JSON
Spring Security 中未获认证的请求默认会重定向到登录页,但是在前后端分离的登录中,这个默认行为则显得非常不合适,今天我们主要来看看如何实现未获认证的请求直接返回 JSON ,而不是重定向…
Spring Security—登录添加验证码
登录添加验证码是一个非常常见的需求,网上也有非常成熟的解决方案,其实,要是自己自定义登录实现这个并不难,但是如果需要在 Spring Security 框架中实现这个功能,还得稍费一点功夫,本文就和小…
SpringBoot—Spring Security 中使用 JWT ( 无状态登录 )
在前后端分离的项目中,登录策略也有不少,不过 JWT 算是目前比较流行的一种解决方案了,本文就和大家来分享一下如何将 Spring Security 和 JWT 结合在一起使用,进而实现前后端分离时的…
SpringSecurity—AuthenticationManager 验证原理分析
在 UsernamePasswordAuthenticationFilter 源码分析 中,最后在类UsernamePasswordAuthenticationFilter 的验证方法 attempt…
SpringSecurity—UsernamePasswordAuthenticationFilter 源码分析
UsernamePasswordAuthenticationFilter 是 AbstractAuthenticationProcessingFilter 的子类,主要作用是对用户身份信息的验证。 关…
SpringSecurity—AbstractAuthenticationProcessingFilter 源码解析
AbstractAuthenticationProcessingFilter 是处理 form 登陆的过滤器,与 form 登陆有关的所有操作都是在该类及其子类中进行的。 继承关系 public ab…
SpringBoot—SpringSecurity登录使用( JSON 格式数据 )
在使用 SpringSecurity 中,大伙都知道默认的登录数据是通过 key/value 的形式来传递的,默认情况下不支持 JSON格式的登录数据,如果有这种需求,就需要自己来解决。 基本登录方案…
Http请求中Form Data与Request Payload的区别
前端开发中经常会用到AJAX发送异步请求,对于POST类型的请求会附带请求数据。而常用的两种传参方式为:Form Data 和 Request Payload(JSON)。 GET请求 使用get请求…
SpringBoot—结合Oauth2(密码模式)
什么是OAuth2 OAuth 是一个开放标准,该标准允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如头像、照片、视频等),而在这个过程中无需将用户名和密码提供给第三方应用。实现这一功能是…
SpringBoot—SpringSecurity(基于数据库的动态权限配置)
前面在这个讲了SpringSecurity 基于数据库的认证,但是这个认证中的用户认证是有问题的,因为里面的用户权限都是写死的,很难更改,所以用数据库的动态配置就能解决这个问题! http://www…
SpringBoot—SpringSecurity(角色继承问题)
角色继承实际上是一个很常见的需求,因为大部分公司治理可能都是金字塔形的,上司可能具备下属的部分甚至所有权限,这一现实场景,反映到我们的代码中,就是角色继承了。 Spring Security 中为开发…
SpringSecurity—核心组件UserDetailsService
UserDetails => Spring Security基础接口,包含某个用户的账号,密码,权限,状态(是否锁定)等信息。只有getter方法。Authentication => 认证对象,认证开…
SpringBoot—整合SpringSecurity(基于数据库的认证)
在前面的 SpringBoot—整合SpringSecurity(安全框架) 里讲了对登录的用户名/密码进行配置,有三种不同的方式: 在 application.properties 中进行配置通过 …
SpringBoot—整合SpringSecurity(方法安全)
方法安全 SpringSecurity除了可以配置登录这些之外还可以给方法加密,限制访问方法,只有规定的人才可以访问这个角色。 通常采用的三个注解,就是@Secured(), @PreAuthoriz…
SpringSecurity—WebSecurityConfigurerAdapter(自定义配置入口)
自定义 Spring Boot Web 安全配置类 我们使用我们最擅长的 Ctrl + C 、Ctrl + V 抄源码中的 SpringBootWebSecur…
SpringBoot—整合SpringSecurity(安全框架)
Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展了多年了,但是使用的并不多,安全管理…
Mysql—多表连接查询
在一般的业务情况下,我们大致将 Mysql多表连接 分为如下几种: 内连接:INNER JOIN – 可简写为 JOIN; 左外连接:LEFT OUTER JOIN – 可简写为 LEFT JOIN;…
Mybatis一对一、一对多、多对多查询(补充)
场景:使用三张数据表:student学生表、teacher教师表、position职位表 一个学生可以有多为老师、一位老师可以有多个学生、但是一个老师只能有一个职位:教授、副教授、讲师;但是一个职位可…
SpringBoot—Redis缓存(Cache)
经过Spring Boot的整合封装与自动化配置,在Spring Boot中整合Redis已经变得非常容易了,开发者只需要引入Spring Data Redis依赖,然后简单配下redis的基本信息,…
Java—Serializable接口(序列化)
工作中我们经常在进行持久化操作和返回数据时都会使用到javabean来统一封装参数,方便操作,一般我们也都会实现Serializable接口,那么问题来了,首先:为什么要进行序列化;其次:每个实体be…
Nginx介绍
基本介绍 Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。 N…
SpringBoot—搞定 session 共享
在传统的单服务架构中,一般来说,只有一个服务器,那么不存在 Session 共享问题,但是在分布式/集群项目中,Session 共享则是一个必须面对的问题,先看一个简单的架构图: 在这样的架构中,会出…
Spring Data Redis 使用(SSM版)
Spring Data Redis 介绍 Spring Data Redis 是 Spring 官方推出,可以算是 Spring 框架集成 Redis 操作的一个子框架,封装了 Redis 的很多命令…