1. SpringSecurity 快速入门与简单使用

SpringSecurity 快速入门 在互联网中,我们每天都会使用到各种各样的APP和网站,在使用过程中通常还会遇到需要注册登录的情况,输入你的用户名和密码才能正常使用,也就是说成为这个应用的合法身份才可以访问应用的资源,这个过程就是认证。认证是为了保护系统的隐私数据与资源,用户的身份合法方可访问该系统的资源。当然认证的方式有很多,常见的账号密码登录,手机验证码登录,指纹登录,刷脸登录等等。简单说: 认证就是让系统知道我们是谁。如何实现授权? 阅读详情
Spring 官网对 SpringSecurity 的简介

Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.

翻译过来的大概意思就是 SpringSecurity 是一个强大并且支持高自定义性的认证和授权框架

SpringSecurity 是什么?
  • SpringSecurity 是一个 Spring 团队开发基于 Spring 的 认证 和 授权 框架
  • 特点是 功能强大 且 支持高自定义性
为什么要使用 SpringSecurity?
  • 为了解决系统中 认证 与 授权 的需求
  • 对比自己手动实现的认证、授权框架,SpringSecurity 有以下优点
    • 比较成熟
    • 对于基于 Spring 开发的项目,集成快速
    • 无缝对接 Spring 平台
    • 可扩展性高
    • 功能强大
快速入门
  • 环境准备

    • IDEA
    • jdk 1.8
    • maven 3.5 或 IDEA 自带 Maven 3
  • 步骤

    • 使用 IDEA 创建一个 SpringBoot 项目,在新建项目选择 Dependeces 勾选 Security,或者创建项目后再 pom 文件中手动添加如下依赖。PS: 本次 SpringSecurity 文章中 SpringBoot 版本为 1.5.19.RELEASE,SpringSecurity 版本为 4.2.11.RELEASE。

      <!-- 添加 SpringSecurity 依赖,当前的 SpringBoot 版本使用的 1.5.19,对应的 SpringSecurity 版本为 4.2.11 -->
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-security</artifactId>
      </dependency>
      
    • 创建一个 Restful 接口,用来做之后访问的目标。

      /**
       * @author: hblolj
       * @Date: 2019/3/13 16:06
       * @Description:
       * @Version:
       **/
      @RestController
      public class TestController {
      
          @RequestMapping("/hello")
          public String hello(){
              return "Hello Spring Security";
          }
      }
      
    • 启动应用,成功启动后,观察控制台,会发现如下日志输出
      输出日志

      注意日志中下面这一行,后面会用到

      Using default security password: ce87e8ab-8233-447b-82d8-90268d891615
      
    • 打开我们的浏览器,在地址栏输入接口地址,访问我们的接口 http://localhost:8080/security/hello (8080 端口与 security 路径是我通过 yml 配置文件自己设置的)。按下回车键,会弹出如下对话框:

      1552465921774

      该对话框需要我们输入用户名与密码进行登录,从这里可以分析出,我们上面定义的接口已经被保护起来了,访问必要要先认证,而认证的方式是通过填写这个对话框。

      这里用户名默认为 user,密码则为上面我们叫大家留意的哪一行日志 (ce87e8ab-8233-447b-82d8-90268d891615),这里说明一下,这个密码是随机的,每次启动服务,都会生成一个随机的密码。

    • 按照说明,我们键入用户名和密码,点击登录按钮,就可以访问到我们上面自定义的接口了。

      1552466161653

  • 总结:按照上述步骤,我们就在一个基于 SpringBoot 的项目中引入了 SpringSecurity 框架,但是显而易见的,我们发现这种默认的实现是不能够满足我们的日常开发需求的,我们将可能会用的需求列一下

    • 用户登录不可能以这种弹框形式去登录,一般网页都有自己的登录页面(自定义登录页面)
    • 用户名、密码应该是从数据库中读取,而不是默认和随机的(自定义认证逻辑)
    • 并不是对所有的资源或接口都需要认证(设置资源白名单)
    • …

    所以在下一篇文章中,我们会实现一个自定义的表单登录示例,To Be Continue…

SpringSecurity6+OAuth2.0 从入门到熟练使用 阅读详情

相关推荐

从NHANES到发表:如何用survey包完成符合CDC要求的统计分析(含完整R代码)

本文详细介绍了如何利用R语言的survey包,对美国国家健康与营养调查数据进行符合CDC要求的统计分析。文章重点解析了NHANES数据的复杂抽样设计、权重变量的正确选择与调整,并提供了从数据获取、清洗、构建调查设计对象到执行加权回归及生成发表级表格的完整R代码实战指南,帮助研究者避免常见错误,确保分析结果的准确性与可发表性。

weixin_29054245的博客 523

推荐使用Twilio Authy Python客户端进行双因素认证

推荐使用Twilio Authy Python客户端进行双因素认证 项目介绍 Twilio Authy Python客户端是一个用于与Twilio Authy双因素认证(2FA)API进行交互的Python库。该库提供了简单易用的接口,帮助开发者在其应用程序中集成强大的双因素认证功能。通过使用Authy API,开发者可以实现多种2FA方式,包括短信和语音的一次性密码、基于Authy应用的软令牌(...

gitblog_00652的博客 902

从零到一:手把手教你用Verilog在FPGA上构建自己的FFT处理器(不依赖IP核)

本文详细介绍了如何从零开始使用Verilog在FPGA上构建256点FFT处理器,不依赖商业IP核。内容涵盖FFT算法基础、蝶形运算单元设计、整体架构实现、时序收敛优化策略以及测试验证方法,重点提升FPGA上算法部署的运行效率与资源利用率。

vv45678的博客 823

spring security源码分析

使用IDEA查看源码 由于spring security是通过DelegatingFilterProxy整合的,这个框架相当于一个过滤器 <filter> <!-- DelegatingFilterProxy用于整合第三方框架 整合Spring Security时过滤器的名称必须为springSecurityFilterChain, 否则会抛出NoSuchBeanDefinitionException异常 --> &lt

qq_41904699的博客 347

el-table通过上下左右键移动光标

在Element Plus的el-table中包含el-input和el-select组件,要实现上下左右键控制光标位置,需要通过focus和blur跟踪判断当前是哪个el-input或el-select有焦点,当按键按下时,通过监听,计算下一个获取焦点元素的索引,通过focus方法将焦点切换至改元素。

秋思的博客 1350

ArcGIS Pro 3.0 加载天地图WMTS服务,解决偏移问题的保姆级教程(附最新Key申请流程)

本文详细介绍了在ArcGIS Pro 3.0中精准加载天地图WMTS服务的全流程,包括最新Key申请流程、解决地图偏移问题的关键配置步骤以及常见问题排查方法。通过设置`esri`参数和统一坐标参考,确保地理数据与天地图底图精确匹配,提升GIS空间分析的准确性。

weixin_28713947的博客 310

(idea)利用SpringSecurity完成登录验证的流程

spring security是一个安全可靠且高度可定制的安全框架,它提供身份验证和访问权限控制。按照框架的要求提供相关的信息和配置就可以利用spring security写出企业级安全的登录功能。认证:验证登录者的身份授权:定义登录者登录后可以做什么攻击防护:防止身份伪造有了springboot之后,springboot对spring security提供了自动化配置的方案,所以在springboot项目中可以实现零配置使用spring security。

junqiqi77的博客 1979

GmSSL国密双证书实战:从生成到Nginx配置全流程

本文详细介绍了使用GmSSL工具生成国密双证书(签名证书与加密证书)并配置Nginx支持国密HTTPS(TLCP协议)的全流程。内容涵盖环境准备、自签CA创建、服务器双证书生成、Nginx单向/双向认证配置以及兼容性处理,为部署符合国密标准的HTTPS服务提供实战指南。

weixin_29276847的博客 480

跟着燕青学Spring Security认证授权05--Spring Security快速入门

1 Spring Security介绍 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。由于它是Spring生态系统中的一员,因此它伴随着整个Spring生态系统不断修正、升级,在spring boot项目中加入spring security更是十分简单,使用Spring Security 减少了为企业系统安全控制编写大量重复代码...

1471

JavaScript比较与逻辑运算符底层原理详解

JavaScript中的比较运算符(如==、===、>)和逻辑运算符(如&&、||)并非简单返回布尔值,而是基于类型转换规则(ToNumber、ToPrimitive、ToBoolean)执行抽象操作的确定性过程。理解其背后的标准协议——抽象相等比较、严格相等判断、关系运算数值化,以及逻辑运算的短路与原值返回机制,是避免隐式转换陷阱、写出可预测代码的关键。这些机制直接支撑着条件判断、默认值处理、安全访问等高频工程实践,广泛应用于表单校验、API响应处理、状态管理及UI渲染逻辑中。

weixin_32075843的博客 331

stm32学习笔记-启动文件

1、配置栈 Stack_Size EQU 0x00000400 AREA STACK, NOINIT, READWRITE, ALIGN=3 Stack_Mem SPACE Stack_Size __initial_sp EQU:相当于C中的define,定义Stack_Size = 0x00000400。 AREA: 指...

某风吾起的博客 4531

品优购第四天

品优购 第4天 学习目标 目标1:实现SpringSecurity入门小Demo 目标2:完成运营商登陆与安全控制功能 目标3:完成商家入驻 目标4:完成商家审核 目标5:完成商家系统登陆与安全控制功能 目标6:完成商家异步登录 第1章 Spring Security框架入门 1.1 Spring Security简介 Spring Security是一个能够为基于Spring的企业应用系统提供声...

编程之心的博客 650

Claude Code、Codex、Gemini CLI、OpenCode 和 OpenClaw 配置管理太麻烦?试试这个统一管理工具

还在为 Claude Code、Codex、Gemini CLI 等 AI CLI 配置烦恼?🤯 这款桌面工具支持五大助手统一管理,一键切换 50+ 服务商,MCP 和 Skills 集中管理 🛠️,跨平台支持,让你的 AI 编程更高效 ⚡

XiaoqiangClub的博客 918

SpringSecurity简单入门

SpringSecurity简单入门

YIYIYI 629

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

SpringSecurity 6 快速入门

SpringSecurity 6 是 Spring 全家桶中属于安全权限的一类框架产品,同时它对于 Spring 框架的兼容性以及高定制性以及开源等优点,使得有些企业或个人开发者都会使用该框架

qq_46216299的博客 2716

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

SpringSecurity 简单使用

SpringSecurity 简单使用 在 Web 开发中安全是不可忽视的问题(软件安全技术!),现在从 SpringSecurity 和 Shiro 两个框架来学习一下安全框架在 Web 应用中的使用。 Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based

qq_43560701的博客 5351

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SpringSecurity入门

是一个基于Spring框架的安全性框架,可用于对Java应用程序进行身份验证、授权和其他安全性功能的添加。它不仅可以对Web应用程序进行保护,还可以保护非Web环境下的应用程序,如远程服务和命令行应用程序等。提供了一系列可插拔的安全性特性,如基于标记的身份验证、权限控制、单点登录、密码加密等。它还支持多种安全性协议和标准,如OAuthSAMLOpenID等,可与各种身份提供商集成。是的一个核心类,用于配置应用程序的安全策略。

ChatYU的博客 1784

9,SpringSecurity专题-SpringSecurity快速入门

Spring Security是基于Spring的安全框架,提供了包含认证和授权的落地方案;Spring Security底层充分利用了Spring IOC和AOP功能,为企业应用系统提供了声明式安全访问控制解决方案;SpringSecurity可在Web请求级别和方法调用级别处理身份认证和授权,为应用系统提供声明式的安全访问控制功能;

weixin_44478828的博客 483

快速入门SpringSecurity

Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。​ 一般来说中大型的项目都是使用SpringSecurity 来做安全框架。小项目有Shiro的比较多,因为相比与SpringSecurity,Shiro的上手更加的简单。​ 一般Web应用的需要进行认证和授权。验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户经过认证后判断当前用户是否有权限进行某个操作。

weixin_38641763的博客 307

springsecurity快速入门

springsecurity快速入门

qq_45541846的博客 343

SpingBoot3 + SpringSecurity6的快速入门

本文是一篇Spring Security 6与JWT整合的实战教程,主要包含以下内容: 基础环境搭建:使用Spring Boot 3+Spring Security 6+JWT+RBAC模型,解决市面上教程过时不全的问题。 核心实现流程: 认证流程:过滤器→LoginController→ServiceImpl→UserDetailsServiceImpl(查询用户、角色、权限) 授权流程:JWT过滤器解析token→从Redis获取用户信息→权限校验 关键技术点: 自定义LoginUser实现UserDe

hwqehq的博客 1012

SSM整合SpringSecurity简单使用

ssm整合SpringSecurity简单使用

Amour恋空的博客 2273

SpringSecurity快速入门

Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架,它是保护基于 Spring 的应用程序的事实标准。​ 我们希望在认证失败或者是授权失败的情况下也能和我们的接口一样返回相同结构的json,这样可以让前端能对响应进行统一的处理。要实现这个功能我们需要知道SpringSecurity的异常处理机制。在SpringSecurity中,如果我们在认证或者授权的过程中出现了异常会被ExceptionTranslationFilter捕获到。

qq_59193001的博客 652

快速上手SpringSecurity:SpringBoot + Thymeleaf 入门案例推荐

快速上手SpringSecurity:SpringBoot + Thymeleaf 入门案例推荐 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在现代Web应用开发中,权限管理是不可或缺的一部分。为了帮助开发者快速掌握并整合权限管理框架,我们推出了一个基于 SpringBoot、SpringSecurity 和 Thymeleaf 的入门案例源代码。这个项目不仅适合初...

gitblog_09817的博客 923

1.SpringSecurity -快速入门、加密、基础授权

基于Session实现短信登录_c# 登录session怎么使用_我爱布朗熊的博客-优快云博客过滤器与拦截器 - 登录校验与登录认证(JWT令牌技术)_jwt过滤器_我爱布朗熊的博客-优快云博客用户认证通过后,为了避免用户的每次操作都进行认证可将用户的信息保存在会话中。会话就是系统为了保持当前用户的登录状态所提供的机制常见的有基于session方式、基于token方式等基于session的认证方式。

weixin_51351637的博客 584
上一篇: WebService
下一篇: 2. SpringSecurity 自定义表单登录
Earth_Programer
博客等级 码龄11年 18粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值