SpringBoot
zdwhong
在java道路上越走越远
展开
-
SpringSecurity(4)SpringSecurity整合SpringBoot分布式版(JWT,RSA)
1、分布式认证介绍1.1 概念分布式认证,即我们常说的单点登录,简称SSO,指的是在多应用系统的项目中,用户只需要登录一次,就可以访问所有互相信任的应用系统。1.2 分布式认证流程首先,我们要明确,在分布式项目中,每台服务器都有各自独立的session,而这些session之间是无法直接共享资源的,所以,session通常不能被作为单点登录的技术方案。最合理的单点登录方案流程如下图所示:总结一下,单点登录的实现分两大环节:用户认证:这一环节主要是用户向认证服务器发起认证请求,认证服务器给原创 2020-09-11 15:19:03 · 925 阅读 · 0 评论 -
SpringSecurity(3)SpringBoot、JSP、MyBatis整合进行认证和授权
技术选型SpringBoot2.1.3,SpringSecurity,MySQL,mybatis,jsp下面的三个版本是层次递进的。1、初步整合认证第一版这个版本中我们不自定义jsp页面,同时也不连接数据库,看看在SpringBoot中,加入了Spring Security之后有什么效果:1.1 创建工程,导入jar包创建一个project,当作一个父工程,只是为了把相关的东西放到一个目录下面,接下来就在这个里面创建子模块:父工程中可以删掉src目录;在父工程下面创建一个module:sp原创 2020-09-11 14:56:53 · 616 阅读 · 0 评论 -
SpringSecurity(2)用户状态设置、记住我、用户授权、权限异常处理
1、设置用户状态在我们的数据库表sys_user中,有一个status字段,用来表示用户的状态,表示:有效或无效等。比如有些用户恶意操作,我们需要对它封号,就需要设置一个状态,这样的话,该用户就无法登录了。根据业务需要,可以设置多个状态字段,Spring Security的User对象也为我们封装一个有关用户状态的构造方法,接下来就来了解下该怎么使用吧1.1 源码分析用户认证业务里,我们封装Spring Security的org.springframework.security.core.userde原创 2020-09-11 14:52:38 · 1727 阅读 · 0 评论 -
SpringSecurity(1)过滤器链、自定义认证页面、退出登录和加密认证
1、权限管理的概念权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。权限管理几乎出现在任何系统里面,前提是需要有用户和密码认证的系统。在权限管理的概念中,有两个非常重要的名词:认证:通过用户名和密码成功登陆系统后,让系统得到当前用户的角色身份。登录和认证的区别:一般简单的登录是只要验证用户的用户名和密码是否正确,但是认证还包括查询出用户的角色和权限信息。授权:系统根据当前用户的角色,给其授予对应可以操作的权限资源。权限管理中三个重要的对象原创 2020-09-11 14:46:36 · 1897 阅读 · 3 评论 -
SpringBoot(十一) 检索(ElasticSearch)
#1、Elasticsearch简介我们的应用经常需要添加检索功能,更或者是大量日志检索分析等,Spring Boot通过整合Spring Data ElasticSearch为我们提供了非常便捷的检索功能支持;Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard的方式保证数据安全,并且提供自动resharding的功能,githu...原创 2020-04-11 22:09:42 · 200 阅读 · 0 评论 -
SpringBoot(十) 消息AMQP(RabbitMQ)
#1、概述1.在大多应用中,我们系统之间需要进行异步通信,即异步消息。2.异步消息中两个重要概念:消息代理(message broker)和目的地(destination)当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目的地。3.异步消息主要有两种形式的目的地1.队列(queue):点对点消息通信(point-to-point)2.主题(topic):发...原创 2020-04-10 22:41:41 · 242 阅读 · 0 评论 -
SpringBoot(九) 缓存
内容概览:JSR-107、Spring缓存抽象、整合Redis1、JSR-107简介Java Caching定义五个核心接口:CachingProvider、CacheManager、Cache、Entry和Expiry;CachingProvider 定义了创建,配置,获取,管理和控制多个CacheManager,一个应用可以在运行期间访问多个CacheProvider;CacheMa...原创 2020-04-10 21:06:31 · 203 阅读 · 0 评论 -
SpringBoot(八) 自定义starter
1、自定义starter需要考虑的问题虽然SpringBoot给我们定义了大多数环境下需要使用的starter,但是也不能完全满足我们的需要,所以我们应该要能自己定义starter(场景启动器)。既然要自定义starter,我们就可以借鉴 SpringBoot 的模式来定义,首先要明确以下三个问题:1、这个自定义场景启动器需要使用到那些依赖,需要自己去引入;具体要引入什么依赖,根据自己的需...原创 2020-04-04 21:13:25 · 239 阅读 · 0 评论 -
SpringBoot(七) 启动配置原理
注意关注:几个重要的事件回调机制这两个需要配置在META-INF/spring.factories:ApplicationContextInitializer、SpringApplicationRunListener这两个只需要放在ioc容器中:ApplicationRunner、CommandLineRunner此次讲解的SpringBoot版本是:2.2.61、启动配置流程讲解Spr...原创 2020-04-04 20:03:42 · 501 阅读 · 0 评论 -
SpringBoot(六) 数据访问(JDBC/MyBatis/Spring Data Jpa)
JBDC、MyBatis、Spring Data JPA1、简介对于数据访问层,无论是SQL还是NOSQL,Spring Boot默认采用整合 Spring Data的方式进行统一处理,添加大量自动配置,屏蔽了很多设置。引入各种xxxTemplate,xxxRepository来简化我们对数据访问层的操作。对我们来说只需要进行简单的设置即可。我们将在数据访问章节测试使用SQL相关、NOSQL在...原创 2020-04-02 22:26:28 · 935 阅读 · 2 评论 -
SpringBoot(四) Web开发(3)错误处理机制和容器管理
这篇文章是以上一篇为基础的:https://blog.csdn.net/zengdongwen/article/details/1051782841、错误处理机制1.1 SpringBoot默认的错误处理机制原理分析为了方便分析处理错误机制,可以先注释掉之前的登录拦截器;1.1.1 默认的错误效果1、如果是浏览器访问一个不存在的资源,效果如下:浏览器发送请求的请求头:2、如果是其...原创 2020-03-31 08:50:24 · 682 阅读 · 0 评论 -
SpringBoot(四) Web开发(2)Restful风格的CRUD操作
1、创建工程使用之前使用的Spring提供的向导,快速创建一个包含web模板的SpringBoot工程:springboot-web-restful;1.1 pom.xml如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=...原创 2020-03-29 14:32:16 · 370 阅读 · 0 评论 -
SpringBoot(四) Web开发(1):SpringBoot关于静态资源的映射、Thymeleaf了解和SpringMVC的自动配置
1、简介SpringBoot就是为了来简化和快速开发我们的项目的,所以使用SpringBoot是很简单的,只需要简单的几步就好了;如果要使用SpringBoot进行Web开发,那我们需要选中web模块,SpringBoot便会帮我们做好Web开发相关的自动配置,我们只要写业务代码就行了。1)、创建SpringBoot应用,选中我们需要的模块;2)、SpringBoot已经默认将这些场景配置好...原创 2020-03-28 17:19:02 · 601 阅读 · 0 评论 -
SpringBoot(五)docker
1、首先安装好Oracle提供的小巧的虚拟机:Virtual Box;2、然后安装好CentOS7,然后启动,登录,通过命令:ip addr 查看虚拟机的IP;3、使用Linux的客户端连接工具(这里用的是XShell),连接虚拟机;执行命令:uname -r 查看内核版本,必须要3.10及以上;如果低于这个版本,要执行:yum update 进行更新操作执行命令:yum in...原创 2020-03-25 09:25:32 · 211 阅读 · 0 评论 -
SpringBoot(三)日志
1、日志框架介绍 市场上存在非常多的日志框架。JUL(java.util.logging),JCL(Apache Commons Logging),Log4j,Log4j2,Logback、SLF4j、jboss-logging等。Spring Boot在框架内容部使用JCL,spring-boot-starter-logging采用了slf4j+logback的形式,Spring...原创 2020-03-21 21:08:18 · 135 阅读 · 0 评论 -
SpringBoot(二)配置
1、SpringBoot的配置文件简介 SpringBoot引入了大量的自动配置,同时也支持自定义配置,SpringBoot使用一个全局的配置文件,配置文件名是固定的;application.properties 和 application.yml yml是YAML(YAML Ain't Markup Language),YAML A Markup Languag...原创 2020-03-20 22:52:18 · 236 阅读 · 0 评论 -
SpringBoot(一)入门
SpringBoot是学习尚硅谷的视频,我只是照写,记录笔记,作为自己的复习资料,整个SpringBoot的学习笔记包括:一、Spring Boot入门二、Spring Boot配置三、Spring Boot与日志四、Spring Boot与Web开发五、Spring Boot与Docker六、Spring Boot与数据访问七、Spring Boot启动配置原理八、Spring...原创 2020-03-18 23:21:29 · 173 阅读 · 0 评论