SpringBoot集成security(1)|(security入门)


文章目录

  • SpringBoot集成security(1)|(security入门)
    • @[TOC]
  • 前言
  • 一、Spring Security是什么?
  • 二、security集成springboot
    • 1.依赖引入
    • 2.编写测试接口
    • 3.服务启动日志分析
    • 4.调用接口验证
    • 5.用户配置
  • 总结

章节
第一章链接: SpringBoot集成security(1)|(security入门)
第二章链接: SpringBoot集成security(2)|(security自定义配置)
第三章链接: SpringBoot集成security(3)|(security的前后端分离登录以及响应处理)
第四章链接: SpringBoot集成security(4)|(security基于JWT实现前后端分离自定义登录)

前言

最近项目上经常遇到需要对接第三方登录认证、授权第三方等问题,本着一劳永逸的心里,决定攻克一下springsecurity知识点,本系列文章将会介绍springsecurit从入门到深入了解,并能够在项目中实际运用。本系列文章大致分为几个阶段,第一阶段了解security,第二阶段实现在springboot中集成登录,第三阶段接入Oauth2、JWT,第四阶段实现第三方授权登录等。

一、Spring Security是什么?

Spring Security是一个提供身份验证,授权和保护以防止常见攻击的框架。凭借对命令式和响应式应用程序的一流支持,它是用于保护基于Spring的应用程序的事实上的标准。Spring Security 是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型,他可以实现强大的Web安全控制,对于安全控制,我们仅需要引入 spring-boot-starter-security 模块,进行少量的配置,即可实现强大的安全管理

二、security集成springboot

1.依赖引入

第一步需要引入springboot以及security相关依赖,其他依赖例如swagger、lombok等一些工具依赖没有放上来

 <!--springboot相关依赖--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.7</version><relativePath/></parent><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--security引入--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency>

2.编写测试接口

提供一个测试接口用于验证security

@Api(tags = {"演示相关接口"})
@RestController
@RequestMapping("/demo")
public class DemoCtrl {@ApiOperation(value = "获取接口", notes = "获取接口")@GetMapping(value = "/get")public ResponseHandle success() {return ResponseHandle.SUCCESS("获取数据成功");}}

3.服务启动日志分析

1、springboot服务集成之后日志会打印一个Using generated security password: 7e2cf26c-1bff-4e27-9278-f5314c2f1f79,这个密码就是security的user用户默认的密码,每次启动都会改变

2、还会打印一个DefaultSecurityFilterChain信息,该信息表示引入security依赖后springboot会默认加载一个springsecurity的过滤器链,该默认的过滤器会阻止没有认证的访问请求

4.调用接口验证

在浏览器访问接口http://localhost:8080/demo/get,会跳转到http://localhost:8080/login页面,在登录页面输入user用户以及控制台打印的默认密码,会显示访问成功。

5.用户配置

实际使用的时候默认用户密码是变动的,这肯定不符合我们的要求,是否有其他方式来初始化用户呢?于是翻阅了文档,security提供了多种用户配置,下面我们来介绍当前简单模式下的简单配置,在yml配置文件中添加如下配置

spring:security:user:name: adminpassword: 123456roles: admin

结果:重启服务,日志没有打印默认密码,访问还是会跳到登录页,这个时候输入配置的用户密码即可访问

总结

到此springboot集成了security,并且security已经能够安全的保护我们的接口不被无认证请求访问。并且能够配置用户。

第一章链接: SpringBoot集成security(1)|(security入门)
第二章链接: SpringBoot集成security(2)|(security自定义配置)
第三章链接: SpringBoot集成security(3)|(security的前后端分离登录以及响应处理)
第四章链接: SpringBoot集成security(4)|(security基于JWT实现前后端分离自定义登录)

SpringBoot集成security(1)|(security入门)相关推荐

  1. SpringBoot集成beetl模板快速入门

    SpringBoot集成beetl模板快速入门 本文引导 SpringBoot集成beetl模板快速入门 创建SpringBoot工程(idea) 新建工程 修改maven本地仓库位置 配置Sprin ...

  2. Springboot 集成Springcloud gateway的入门

    最近做项目使用到了springcloude gateway作为网关,因此在此记录下springcloud gateway的入门操作,后续再将源码解读写出来,先立个flag. 回归正题,Springcl ...

  3. springboot集成flowable简单实例入门

    此案例是demo.功能有创建流程.完成审批.生成流程图.适合有java基础的人员看. 第一步.画流程图 resources资源包下,新建processes包,新建一个文件,我命名他apply-rest ...

  4. SpringBoot集成Spring Security —— 第二章自动登录

    文章目录 一.修改login.html 二.两种实现方式 2.1 Cookie 存储 2.2 数据库存储 2.2.1 基本原理 2.2.2 代码实现 三.运行程序 在上一章:SpringBoot集成S ...

  5. SpringBoot集成Spring Security(2)——自动登录

    在上一章:SpringBoot集成Spring Security(1)--入门程序中,我们实现了入门程序,本篇为该程序加上自动登录的功能. 文章目录 一.修改login.html 二.两种实现方式 2 ...

  6. SpringBoot集成Spring Security(二)注册 、密码加密、修改密码

    SpringBoot集成Spring Security(一)登录注销 写在前面 上一节创建了项目并且利用Spring Security完成了登录注销功能,这里继续说一下注册.密码加密和找回密码,代码注 ...

  7. SpringBoot集成Spring Security(一)登录注销

    同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! SpringBoot集成Spring Security(二)注册 .密码加密.修改密码 写在前面 Spring S ...

  8. springboot集成Spring Security oauth2(八)

    由于公司项目需要,进行SpringBoot集成Spring Security oauth2,几乎搜寻网上所有大神的案例,苦苦不能理解,不能完全OK. 以下是借鉴各大神的代码,终于demo完工,请欣赏 ...

  9. springboot集成security

    接着上一篇( springboot 集成mybatis)继续搞,接下来集成security 首先还是添加pom依赖 <dependency><groupId>org.sprin ...

最新文章

  1. InfBox V7.0 企业绩效助手客户端使用简介
  2. 目标检测(Object Detection)资料汇总
  3. java interface 函数_java8函数式接口(Functional Interface)
  4. MySQL 使用 LOAD DATA 导入 csv 文件
  5. ios url缓存策略——NSURLCache、 NSURLRequest
  6. 上周热点回顾(7.10-7.16)
  7. Windows下Mysql Cluster集群启动脚本与启动服务添加方法
  8. 饥荒联机版连不上服务器_饥荒联机版无法连接klei服务器及刷不出服务器解决方法一览...
  9. Android广播(笔记)
  10. redhat linux 5 nfs
  11. HTML li标签排列有空白间隙
  12. 一行代码就能写一个日志打印组件,你信吗?为你揭晓RTOS中日志打印组件的核心
  13. UE4如何贴混合贴图_八猴,Unity,UE4,还原SubstancePainter贴图
  14. ap音频测试仪软件,美国进口音频分析仪/AP音频测试仪/电声测试仪
  15. hp服务器修复计算机,HP(惠普)服务器 修复 Intelligent Provisioning
  16. npm查看源地址以及更换源地址
  17. python中difference_update_Python学习笔记-Python基础(二)
  18. 《富爸爸穷爸爸》读书笔记 - 为什么要教授财务知识
  19. 什么是EasyUI,如何使用EasyUI?--easyui的十二种用法
  20. 拆解市面上卖几百上千的语聊挂机赚钱项目

热门文章

  1. 过新版狗php一句话,整理的最新WebSHell (php过狗一句话,过狗菜刀,2016过狗一句话,2016php免杀一句话)...
  2. ubuntu16.04中无法识别u盘
  3. 电子发票如何打印成标准的增值税发票大小
  4. 题目 1162: 密码
  5. yolov8实现半标注
  6. 打死我也不说,你还没使美人儿计呢!
  7. linux lseek
  8. 身份证号码验证(c语言)
  9. 关于软件文档 这些你知道吗?
  10. SpringBoot:大连埃森哲java招聘信息