本文来介绍工作中很常见的一个需求: 动态切换数据源 的理论原理及其实现.
JVM-01-JMM内存模型
本文为JVM系列文章的第一篇, 主要围绕以下三个半方面展开
- JMM (Java内存模型)的组成: 程序计数器,栈,本地方法栈,堆, 方法区 (JDK8之前/后(含)实现是永久代/元空间)及各阶段OOM分析
- 常见JVM监控工具:jmap,jhat,Jconsole,jvisualvm等在CPU,I/O,memory飙升问题定位中的简单使用以及对应的优化思路
- 垃圾回收,分代模型, 基于根可达和引用计数器模型的内存管理
Spring-Security-12-两种资源放行策略
Spring Security 的初学者可能会碰到一种情况: 明明登陆了, 却获取不到当前登陆的用户信息. 对于这种问题是怎么产生的, 并且需要如何避免呢? 本文就来一一揭晓其中奥秘.
Spring-Security-11-CSRF攻防
本文将讲解CSRF相关的安全问题, 以及如何使用[Spring Security]进行防御.
Spring-Security-10-集群化部署Session管理
前面的文章中介绍了 Spring Security 如何像微信 一样,自动踢掉已登录用户,但是那是基于单体应用的,如果我们的项目是集群化部署,这个问题该如何解决呢?
今天我们就来看看集群化部署,Spring Security 要如何处理 session 并发。
Spring-Security-9-攻击与防御
[Spring Security] 这么麻烦,不如自己写一个 Filter 拦截请求,简单实用。
自己写当然也可以实现,但是大部分情况下,大家都不是专业的 Web 安全工程师,所以考虑问题也不过就是认证和授权,这两个问题处理好了,似乎系统就很安全了。
其实不是这样的!
各种各样的 Web 攻击每天都在发生,什么固定会话攻击、csrf 攻击等等,如果不了解这些攻击,那么做出来的系统肯定也不能防御这些攻击。
使用 Spring Security 的好处就是,即使不了解这些攻击,也不用担心这些攻击,因为 Spring Security 已经帮你做好防御工作了。
我们常说相比于 Shiro,Spring Security 更加重量级,重量级有重量级的好处,比如功能全,安全管理更加完备。用了 Spring Security,你都不知道自己的系统有多安全!
本篇文章就来和大家聊一聊 Spring Security 中为常见的攻击所做的一些安全防御机制自带的防火墙机制。
Spring-Security-8-自动踢掉另一个用户
用过QQ的人应该都知道QQ客户端是禁止同一账号多PC登陆的。[Spring Security]默认情况下是: 允许同一用户多终端登陆的。
但是特殊情况下,也需要完成类似QQ这样的需求。本文就来讨论实现这一功能。
Spring-Security-7-自定义认证逻辑
本文将通过验证码校验的例子来演示自定义AuthenticationProvider以重新规划登陆认证流程,最终深入理解AuthenticationProvider底层原理。
Spring-Security-6-MyBatis
之前的章节介绍过用JPA进行数据交互存储用户数据信息,今天将介绍如何使用MyBatis作为持久层框架搭配Spring Security进行用户校验。
原理和之前JPA的一致。
Spring-Security-5-RememberMe
本篇文章将介绍如何使用Spring Security实现记住我Remember Me的功能。