整体概述 运行时环境 Spring Security 3.0需要Java 5.0 Runtime Environment或更高版本. 核心组件 SecurityContextHolder,SecurityContext和Authentication Objects 最基本的对象是SecurityContextHolder.这是我们存储应用程序当前安全上下文的详细信息的地方,其中包括当前使用该应用程序的主体的详细信息.默认情况下,SecurityContextHolder使用ThreadLocal…
核心组件 AuthenticationManager,ProviderManager和AuthenticationProvider AuthenticationManager只是一个接口,实际中是如何运作的?如果我们需要检查多个身份验证数据库或不同身份验证服务(如数据库和LDAP服务器)的组合,该怎么办? Spring Security中的默认实现为ProviderManager,ProviderManager本身不处理身份验证请求,它会委托给AuthenticationProvider列表进行…
过滤器可以简单理解成用于拦截请求,并执行相应逻辑的代码. 在Spring Security架构中实现过滤器 在SpringSecurity中,可以通过实现 javax.servlet 包中的 Filter接口构造过滤器. 我们通过实现Filter 接口的doFilter() 方法,执行相关逻辑.该方法包含三个参数: ServletRequest:表示http请求,可用它获得请求相关信息. ServletResponse:表示http响应,可向它添加相关信息,最后传回客户端. FilterChai…
1. leveldb整体介绍 首先leveldb的数据是存储在磁盘上的.采用LSM-Tree实现,LSM-Tree把对于磁盘的随机写操作转换成了顺序写操作.这是得益于此leveldb的写操作非常快,为了做点这一点LSM-Tree的思路是将索引树结构拆成一大一小两棵树,较小的一颗常驻内存,较大的一个持久化到磁盘.而随着内存中的树逐渐增大就会发生树的合并和分裂,大概结构如下图所示.后面还会详细分析 下图是整个leveldb的结构概述图,首先我们会把数据写入memtable(位于内存中),当memta…
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy-SpringCloud 微服务脚手架 &视频介绍: Crazy-SpringCloud 微服务脚手架,是为 Java 微服务开发 入门者 准备的 学习和开发脚手架.并配有一系列的使用教程和视频,大致如下: 高并发 环境搭建 图文教程和演示视频,陆续上线: 中间件 链接地址 Linux Redis…
Spring源码学习笔记9--构造器注入及其循环依赖 一丶前言 前面我们分析了spring基于字段的和基于set方法注入的原理,但是没有分析第二常用的注入方式(构造器注入)(第一常用字段注入),并且在循环依赖问题上构造器注入常被说spring无法解决构造器注入的循环依赖,下面我们来分析构造器注入和其循环依赖的源码 二丶构造器依赖注入 在spring初始化每一个非抽象,单例,非懒加载的bean的时候,会调用createBeanInstance方法去创建bean的实例,在使用默认的策略--无参构造o…
Spring 源码学习笔记11--Spring事务 Spring事务是基于Spring Aop的扩展 AOP的知识参见<Spring 源码学习笔记10--Spring AOP> 图片参考了https://www.processon.com/view/60f4d859e0b34d0e1b6bb40c?fromnew=1 逻辑事务和物理事务的概念来自https://wiyi.org/physical-and-logical-transactions.html 本文忽略了编程式事务,探究了基于事务注…
Spring源码学习笔记12--总结篇,IOC,Bean的生命周期,三大扩展点 参考了Spring 官网文档 https://docs.spring.io/spring-framework/docs/current/reference/html/core.html 一个IOC讲得很好的博客 https://blog.csdn.net/ivan820819/article/details/79744797 之前总结的Spring文章比较水,这次好好来 文章需要有些Spring源码基础(可以看我的水…
Find security bugs学习笔记V1.0 http://www.docin.com/p-779309481.html…
绪论 前几天我用一种方式实现了spring cloud的高可用,达到两个注册中心,详情见spring cloud(学习笔记)高可用注册中心(Eureka)的实现(一),今天我意外发现,注册中心可以无限的增加,并这种方法也比较简洁,这里分享给大家 spring cloud 高可用注册中心(Eureka)(三个注册中心)的实现 1.创建工程,这里只需要两个工程,一个注册中心一个测试客户端,不知道怎么创建的可以看spring cloud(学习笔记)高可用注册中心(Eureka)的实现(一) 2.在工程…