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 从入门到熟练使用 阅读详情

相关推荐

微信小程序marker 上的自定义气泡cover-view字体丢失以及max-width不生效问题

微信小程序marker 上的自定义气泡cover-view字体丢失以及max-width不生效问题

weixin_42028275的博客 1502

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

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

gitblog_00652的博客 902

python 编程 安卓脚本_详解基于Android的Appium+Python自动化脚本编写

1.AppiumAppium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试, 它使用WebDriver协议驱动iOS,Android和Windows应用程序。通过Appium,我们可以模拟点击和屏幕的滑动,可以获取元素的id和classname,还可以根据操作生成相关的脚本代码。下面开始Appium的配置。appPackage和APPActivity的获取任意下载一个app解压...

weixin_39523625的博客 2931

spring security源码分析

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

qq_41904699的博客 347

用SimaPro做碳足迹分析:手把手教你完成产品生命周期评估报告

本文详细介绍了如何使用SimaPro进行碳足迹分析,从软件安装到生命周期评估报告的完整流程。通过实战案例演示,帮助制造业企业、咨询机构和科研团队掌握产品生命周期评估(LCA)的核心技术,精准识别环境热点并优化决策,为可持续发展转型提供科学依据。

yhn45678901的博客 716

18、动态系统响应分析

本文系统地介绍了动态系统响应的分析方法,涵盖传递函数建模、特殊输入下的响应特性(如脉冲和阶跃响应)、终值与初值定理的应用、系统直流增益的计算,并深入探讨了一阶和二阶系统的时域特性。通过实例分析与MATLAB仿真,展示了不同参数对系统行为的影响。文章还总结了系统响应在控制设计与故障诊断中的实际应用,并展望了多变量、非线性及实时响应分析的未来研究方向。配合流程图,提供了清晰的系统分析与设计路径。

kite3的博客 144

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

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

junqiqi77的博客 1979

UE4打包为Framework库嵌入iOS原生工程

UE4打包为Framework库嵌入iOS原生工程

tangfuling1991的博客 1294

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

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

1471

Python 爬虫实战:爬取今日头条文章与阅读量数据

本文详细介绍了基于Python爬取今日头条文章与阅读量数据的完整方案。通过分析今日头条API接口,采用Requests+正则表达式技术实现数据抓取,重点解决加密参数构造、请求头模拟、反爬规避等核心问题。文章包含文章列表获取、详情数据提取、互动数据采集等完整流程,并提供数据存储与基础分析方法。同时强调合规使用爬虫技术,控制爬取频率,避免干扰平台运营。该方案可为内容传播分析、用户兴趣研究提供数据支持,但需注意接口参数更新和反爬机制变化,适时调整代码实现。

2503_91057718的博客 2520

vue - 网站接入微信扫码登录功能详细教程,完整详细流程及完整功能示例源代码(附常见问题的解决方案与二维码样式修改方案)

vue.js项目植入微信登录,vue网页项目怎么做微信扫码登录,VUE项目中的微信扫码登录,VUE中最简单的js调用微信扫一扫功能,vue:如何设计网页的微信扫码登录功能,微信扫码功能官方文档,通过vue方式实现二维码扫码功能,vue调用微信扫码,vue H5 调用微信扫描二维码,Vue前端实现微信扫码登录,vue-wxlogin 微信授权登录组件,网站引入的微信登录框如何修改宽高或其他样式,wxlogin 组件插件怎么改变宽高,vue-wxlogin组件怎么自定义样式,微信网页授权,vue调用微信JSDK

✅ 精选推荐文章 6367

品优购第四天

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

编程之心的博客 650

关闭搜狗输入法右下角广告的解决方案

本文主要介绍了关闭搜狗输入法右下角广告的解决方案,希望能对使用搜狗输入法的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 1万+

SpringSecurity简单入门

SpringSecurity简单入门

YIYIYI 629

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SpringSecurity 6 快速入门

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

qq_46216299的博客 2716

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

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

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

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、付费专栏及课程。

余额充值