• 介绍
  • Part I 心得篇
    • 程序
    • 计算机基础知识对程序员来说有多重要?
    • 提问题的艺术
    • 书单
    • 关于投诉举报
    • 面试官说手里有简历为什么还要先做个自我介绍
  • Part II 数据结构篇
    • 数组
    • 二维数组
    • 向量
    • 链表
    • 树
    • 二叉树
    • 二叉查找树
    • 平衡树
    • 平衡二叉树
    • 多路查找树
    • 2-3树
    • 2-3-4树
    • 红黑树
    • B树
    • B+树
    • 为什么MongoDB索引选择B树而Mysql选择B+树
    • B*树
    • LSM树
    • 霍夫曼树
    • 树和森林与二叉树的相互转换
    • 串
    • 字典树
    • 堆
    • 二叉堆
    • 队列
    • 优先队列
    • 栈
    • 最小栈
    • 映射
    • 散列表
    • 词典
    • 图
    • 图存储结构
    • 图的遍历
    • 图最短路径
    • 图拓扑排序
    • 图关键路径
    • 最小生成树
  • Part III 算法篇
    • 排序算法
    • 冒泡排序
    • 选择排序
    • 插入排序
    • 希尔排序
    • 归并排序
    • 快速排序
    • 堆排序
    • 计数排序
    • 桶排序
    • 基数排序
    • 排序算法总结
    • 查找算法
    • 顺序查找
    • 二分查找
    • 插值查找
    • 斐波那契查找
    • 树表查找
    • 分块查找
    • 哈希查找
    • 查找算法总结
    • 缓存算法
    • LRU
    • LFU
    • 加密算法
    • 大数据算法
  • Part IV 设计模式篇
    • 面向对象
    • 设计原则
    • 单例模式
    • 工厂模式
    • 抽象工厂模式
    • 构建者模式
    • 建造者模式与工厂模式的区别
    • 原型模式
    • 创建性模式总结
    • 一个不是GOF设计模式的设计模式
    • 适配器模式
    • 装饰器模式
    • 代理模式
    • 代理模式和装饰器模式对比
    • 外观模式
    • 桥接模式
    • 组合模式
    • 享元模式
    • 结构性模式总结
    • 模板模式
    • 策略模式
    • 观察者模式
    • 迭代器模式
    • 责任链模式
    • 命令模式
    • 状态模式
    • 责任链模式和状态模式对比
    • 命令模式、状态模式、责任链模式区别
    • 备忘录模式
    • 访问者模式
    • java的动态绑定与双分派
    • 中介模式
    • 解释器模式
    • 行为模式总结
    • java中的设计模式
    • spring中的设计模式
  • Part V JAVA篇
    • init and clinit
    • Hashcode
    • 深入分析java中的关键字void
    • 深入分析java中的关键字static
    • 深入分析java中的关键字final
    • 深入分析java中的enum
    • 深入分析java中的关键字this
    • 深入分析java中的关键字super
    • 深入分析java中的String
    • 深入理解wait和notify
    • Transient
    • modCount
    • Thread
    • Executors
    • 反射
    • JDK动态代理
    • 深入理解StringBuilder
    • spi
    • SourceCode
    • KeyTool
    • javaFace
    • HashMap
    • 深入理解Java中异常体系
    • HashMap
    • LinkedHashMap原理
    • java各版本新增特性
  • Part VI JVM篇
    • JVM内存管理
    • JVM内存模型
    • 垃圾回收
    • jvm指令集
    • jstack
    • new Object占多大内存
    • 调优
    • G1
    • ZGC
    • 常量池
  • Part VII 并发篇
    • 计算机体系结构基础知识
    • java并发必知的计算机原理知识
    • java并发必知的底层CPU知识
    • Java线程与内核线程
    • Java中断的工作方式
    • Java多线程如何阻塞与唤醒线程?
    • 并发锁LockSupport原理剖析
    • 线程的状态及其转换过程
    • Java线程何时放弃CPU时间片
    • JVM对线程的调度
    • 线程的sleep操作实现原理
    • Happens-before原则
    • 指令重新排序
    • synchronized原理
    • 管程
    • Java锁机制
    • JDK的互斥锁与共享锁
    • Condition
    • AQS源码分析
    • AQS的自旋锁
    • ReentrantLock
    • CountDownLatch实现原理及案例
    • ReadWriteLock实现原理剖析
    • StampedLock实现原理剖析
    • 如果你提交任务时,线程池队列已满,这时会发生什么?
    • 并发面试
    • ThreadLocal原理
    • AtomicReference
    • ConcurrentHashmap
    • Callable/Future 使用及原理分析
    • ForkJoin
    • CompletableFuture
    • 线程池面试
  • Part VIII 中间件篇
    • 分布式集群中为什么会有 Master
    • RabbitMq
    • Kafka
    • Zookeeper
    • 为什么使用nginx?
    • Tomcat如何接收请求
    • tomcat的三种工作模式
    • RabbitMQ如何保证消息的可靠投递
    • Redis
    • Redis 6.0之前为什么一直不使用多线程?
    • Redlock
    • Redis高并发
    • Redis面试
    • Redis 数据结构之整数集合
    • Redis 数据结构之跳跃表
    • Redis-Cluster集群
    • Redis持久化
    • redis主从架构重新选举master带来的问题
    • Redis String底层实现
    • 消息队列顺序性
    • 消息队列丢数据
    • redis热key
    • pulsar
    • nginx
  • Part IX 数据库篇
    • mysql时区
    • mysqlFace
    • innodb线程
    • /g/G
    • mysql命令集
    • 聚集索引和非聚集索引
    • OLTP&OLAP
    • 术语
    • 优化方案
    • 内存结构
    • mysql索引合并:一条sql可以使用多个索引
    • MySQL 为什么需要两阶段提交?
    • 详解Redo log与Undo log
    • 排序规则
    • join
    • 数据模型
    • 创建用户
    • 索引合并
    • docker中使用mysql
    • 为什么说MyBatis不是完整的ORM框架?
    • MyBatis工作原理与核心流程
    • MyBatis事物
    • MyBatis参数映射
    • Mybatis鸡肋的缓存体系
    • Mybatis DataSource
  • Part X 网络篇
    • OSI模型概念
    • 网络层详解
    • 网际报文控制协议ICMP
    • TCP协议
    • HTTP协议详解
    • HTTP是如何使用TCP连接
    • HTTP2
    • HTTPS协议详解
    • WebSocket
    • IM
    • CDN详解
  • Part XI SPRING篇
    • springIOC概述
    • IoC容器解析
    • ApplicationContext体系结构分析
    • BeanFactory体系结构分析
    • 容器的始祖 DefaultListableBeanFactory
    • IOC原理
    • BeanDefinition的Resource定位
    • BeanDefinition的载入和解析和注册
    • Bean对象的创建
    • Bean依赖注入
    • ApplicationContext容器refresh过程
    • BeanFactory和FactoryBean区别
    • BeanFactoryPostProcessor
    • BeanPostProcessor
    • AutowireCandidateResolver深度分析,解析@Lazy、@Qualifier注解的原理
    • Spring依赖注入@Autowired深层原理、源码级分析
    • Spring的循环依赖
    • 三级缓存
    • AnnotationConfigApplicationContext(注解方式)初始化
    • ConfigurationClassPostProcessor
    • SpringBoot中如何启动Tomcat流程
    • SpringBoot的启动流程
    • AutoConfigurationImportSelector
    • FatJar的启动原理
    • CGLIB
    • 动态代理
    • AOP的实现
    • AOP的原理
    • 注解式AOP原理
    • spring事务
    • Spring事务传播
    • SpringMVC
    • Spring事件
    • bootstrap
  • Part XII CLOUD篇
    • CAP
    • 注册中心
    • Spring Cloud Stream
    • ZipkinServer
    • Spring Cloud Sleuth
    • Ribbon
    • Hystrix
    • feign
    • zuul
  • Part XIII 架构篇
    • SAAS
    • 微服务
  • Part XIV 权限篇
    • shiroSession
  • Part XV 登录篇
    • 初识SSO
    • 搭建基础服务
    • Service配置及管理
    • Service配置及管理
    • 客户端接入
    • cloud gateway整合cas client
    • cas原理
  • Part XVI 系统篇
    • 查看cpu核数
    • 防火墙
    • 系统内核
    • Linux中的零拷贝技术
    • 二进制
  • Part XVII netty篇
    • IO
    • IO模型
    • NIO基础知识
    • NIO示例
    • NIO与IO
    • 深入理解Linux, NIO和Netty中的零拷贝
  • Part XVIII 计算机原理篇
    • 位、字、字符、字节
  • DEVOPS
    • dockerfile部署java项目
    • ftp
  • 附录
    • 翻墙
      • 标记语言Markdown
      • 电子书
      • 文本编辑器
      • sql开发工具
      • linux链接工具
      • 反编译工具
      • redis-desktop-manager
      • 文件服务器
      • git
      • Navicat 15 Keygen注册机
      • JetBrains全家桶激活
      • gradle说明
  • 本书使用 GitBook 发布

Part XV 登录篇

第十五章 登录篇

  1. 初识SSO
  2. 搭建基础服务
  3. Service配置及管理
  4. Service配置及管理
  5. 客户端接入