spring boot 整合 spring security 之使用数据库验证

Spring Boot整合Spring Security验证用户登录 配置 只是一个小的验证登录的demo,按照网上的版本来莫名踩坑,不清楚是不是Spring版本的问题,声明下自己的配置,这是必须的两个包,数据库配置按照自己需要的来。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot 阅读详情

spring boot 整合 spring security 参见上一篇文章.

重写WebSecurityConfigurerAdapter中的configureGlobal方法

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth.authenticationProvider(custProvider);
}
  • 1
  • 2
  • 3
  • 4

其中custProvider是AuthenticationProvider接口的一个实现类实例

实现AuthenticationProvider接口

@Component
public class CustAuthenticationProvider implements AuthenticationProvider {
    @Autowired
    private CustUserDetailsService userService;
    @Override
    public Authentication authenticate(Authentication authentication) throws AuthenticationException {
        String username = authentication.getName();
        String password = (String) authentication.getCredentials();
        CustUserDetails userDetials = (CustUserDetails) userService.loadUserByUsername(username);
        Collection<? extends GrantedAuthority> authorities = userDetials.getAuthorities();
        return new UsernamePasswordAuthenticationToken(userDetials, password, authorities);
    }
    @Override
    public boolean supports(Class<?> arg0) {
        return true;
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

其中CustUserDetailsService是UserDetailsService接口的实现类;CustUserDetails是UserDetails接口的实现类

实现UserDetailsService接口

@Component
public class SnailUserDetailsService implements UserDetailsService {
    @Override
    public UserDetails loadUserByUsername(String userName) throws UsernameNotFoundException {
        return new CustUserDetails();
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

重写loadUserByUsername方法,实现依据用户名称从数据库中查找用户的罗辑,并返回UserDetails对象,这里为了简单我就直接创建了一个

实现UserDetails接口

public class CustUserDetails implements UserDetails {

    private static final long serialVersionUID = -1922135614793714181L;

    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
        boolean flag = false;
        if (flag) {
            return AuthorityUtils.commaSeparatedStringToAuthorityList("");
        }
        StringBuilder commaBuilder = new StringBuilder();
        commaBuilder.append("SUPPER MANAGER");
        commaBuilder.append(",");
        commaBuilder.append("hello");
        commaBuilder.append(",");
        commaBuilder.append("view");
        return AuthorityUtils.commaSeparatedStringToAuthorityList(commaBuilder.toString());
    }
    @Override
    public String getPassword() {
        return "123456";
    }
    @Override
    public String getUsername() {
        return "administrator";
    }
    @Override
    public boolean isAccountNonExpired() {
        return true;
    }
    @Override
    public boolean isAccountNonLocked() {
        return true;
    }
    @Override
    public boolean isCredentialsNonExpired() {
        return true;
    }
    @Override
    public boolean isEnabled() {
        return true;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

主要是实现getAuthorities方法根据用户将用户所有的权限查询出来并返回Collection

Spring Boot Security 整合 OAuth2 设计安全API接口服务 Spring Boot Security 整合 OAuth2 设计安全API接口服务 简介 OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文重点讲解Spring Boot项目对OAuth2进行的实现,如果你对OAuth2不是很了解,你可以先理解OAuth 2.0 - 阮... 阅读详情

相关推荐

Leaflet 加载天地图完整配置指南:从插件修改到无限缩放(附源码)

本文详细介绍了Leaflet与天地图深度集成的完整配置指南,包括插件修改、无限缩放实现及源码示例。通过解析天地图服务的WMTS协议、双投影支持和密钥机制,帮助开发者突破缩放级别限制,优化地图应用性能,适用于Web地图开发和高精度GIS系统。

weixin_27180827的博客 442

避坑指南(三):Spring Security Oauth2框架如何初始化AuthenticationManager

说明 顾名思义,即为“身份认证管理器”, 说白了,就是各种类型登录方式、或者Authentication(*AuthenticationToken)辅助认证Provider的管理对象。 比如,如果只是采用表单登录认证,那么完全可以使用默认的AuthenticationManager,认证用户势必要提供UserDetailsService、PasswordEncoder,如此一来,系统会根...

银河架构师的博客 8443

Synares病毒实战:如何从U盘感染中恢复你的Excel和EXE文件(附专杀工具推荐)

本文详细介绍了Synares感染型病毒的典型特征与传播机制,特别是其通过U盘感染Excel和EXE文件的行为。文章提供了一套从应急隔离、诊断到使用专杀工具进行深度清除与文件恢复的完整实战流程,并推荐了有效的安全软件和修复方法,旨在帮助用户最大程度救回重要数据并构建长效安全防护习惯。

weixin_29230649的博客 1834

Spring Security 六 WebSecurityConfigurerAdapter

文章目录一、WebSecurityConfigurerAdapter是什么?1.WebSecurityConfigurer是什么?2.WebSecurity2.1 WebSecurity定义2.2 AbstractConfiguredSecurityBuilder2.3二、使用步骤1.引入库2.读入数据总结 一、WebSecurityConfigurerAdapter是什么? WebSecurityConfigurerAdapter是为创建WebSecurityConfigurer实例提供方便的基类,该类允

weixin_43172297的博客 8580

为什么大语言模型推理要分成 Prefill 和 Decode?深入理解这两个阶段的真正意义

Prefill 阶段是语言模型推理中的第一个步骤,它负责处理你输入的所有上下文内容(prompt),为后续生成打下基础。“请解释一下 Transformer 的原理。这句话会被 tokenizer 编码为一串 token,比如["请", "解释", "一下", "Trans", "##former", "的", "原理", "。"]。然后这些 token 会进入 Transformer 模型进行前向传播。重点来了 👇。

Harry的博客 1万+

Windows打印体系结构之Windows内置打印驱动程序

时间是一种很残酷的东西,它只会冲淡能够冲淡的,但也会洗尽铅华帮你留下该留下的。1.3.4、Windows内置打印驱动程序现在的Windows下的打印机驱动程序通常分为V4打印机驱动程序(V4 Printer Driver)、XPS打印机驱动程序(XPSDrv)、微软通用打印机驱动程序(Microsoft UniversalPrinter Driver)、微软PostScri...

weixin_34309435的博客 2254

Spring boot 整合 spring security

Spring boot 整合 spring security 在pom.xml中添加spring security的引用 重写WebSecurityConfigurerAdapter类中的configure方法和configureGlobal方法 编写测试方法 在pom.xml中添加spring security的引用<dependency> <groupId>org.springframe

蜗牛跑的快 2011

手把手教你用AFL挖掘C程序漏洞:从安装到实战(附常见错误排查)

本文详细介绍了如何使用American Fuzzy Lop (AFL)对C/C++程序进行模糊测试,从环境准备、目标程序插桩编译、初始语料库构建到实战运行与结果分析。重点讲解了AFL的安装、常见错误排查(如核心转储配置、执行速度优化)以及提升测试效率的高级策略(如持久模式、并行化),帮助开发者和安全工程师高效挖掘程序漏洞。

weixin_29014237的博客 408

SpringSecurity学习

目录 基于尚硅谷web学习 Security配置: 两个核心接口UserDetailsService与PasswordEncoder: 2.PasswordEncoder 给密码加密 Web项目权限控制方案 (11条消息) SpringSecurity回顾_Fairy要carry的博客-优快云博客 configure(AuthenticationManagerBuilder auth): configure(HttpSecurity http) 注解(对于处理请求方法的) 用户注销:.

weixin_57128596的博客 5619

泛微 OA - 根据流程 requestid 获取流程中的附件

在泛微 OA 流程中,附件是通过加密上传的,如果在第三方系统想要调用 OA 系统获取 OA 附件,暂时没有很好的方法实现。但是可以在本地进行调用,得到附件信息,拿到这些信息后,可以用过 url 地址在本地下载。

小松鼠的博客 5838

图像去畸变(相机成像、畸变模型)

首先通过上一步相机标定得到畸变参数和相机内参,同时,由于图像去畸变都是在归一化相机坐标系下进行的,而图像都是像素坐标,所以需要先通过相机内参矩阵将图片上的像素点从像素坐标系转变到归一化坐标系,再通过畸变参数在归一化坐标上进行去畸变的操作。由于畸变是发生在世界点通过透镜投影到相机坐标系这个过程中的,所以去畸变操作是在相机坐标系下进行的。(如图,Pd即为畸变后成像点)3.读取图像和各个参数,调用去畸变函数(opencv自带的cv.undistort函数),就可以完成对图像的去畸变处理,进而得到去畸变的图像。

lm5688jjupm1n28的博客 1052

Spring Boot 整合 Spring Security

Spring Boot 整合 Spring Security

hutao8896的博客 1242

1-Spring Security OAuth2专栏介绍

我自己 我是码农小胖哥,一名后端软件工程师,有多年的后端开发经验,同时也是一名热衷于技术分享、拥抱开源的技术博主。我的技术栈主要是Java、Python、Kotlin,欢迎各位同行进行交流和分享。 个人技术公众号:码农小胖哥 个人博客:https://felord.cn Gitee: https://gitee.com/felord 你可以通过以上方式和我交流、解决学习中的疑难杂症。 2021年开源Spring Security 干货系列教程,2022年又开源Spring Security进阶版,帮

码农小胖哥 7939

SpringBoot安全框架实战:整合SpringSecurity与JWT认证

在当今的Web应用开发中,安全性是至关重要的一个方面。Spring Boot作为一款广泛使用的开发框架,为开发者提供了便捷的开发体验。而Spring Security是Spring生态系统中用于提供身份验证和授权的强大框架,JSON Web Token(JWT)则是一种用于在网络应用中安全传输信息的开放标准(RFC 7519)。本文将详细介绍如何在Spring Boot项目中整合Spring Security和JWT认证,为你的应用提供可靠的安全保障。

梵心白莲的博客 2862

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

spring boot整合spring security(自定义验证方式)

spring security支持传统的查询数据库方式,也即根据用户名查询出用户信息,然后再比较前端传来的密码和数据库中的密码。 这种方式很常用。但不适合通过第三方进行的授权认证模式。这时候,我们需要自己处理登录验证过程。 针对这些情况,我们需要自定义Authentication Provider @Component public class CustomAuthenticationPr...

lichuangcsdn的博客 2748

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

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

spring boot+security(一)security引入

spring security 初学 入门一

sinat_15872851的博客 611

Spring Boot + Spring Security + Redis + JWT + CSRF 双认证简单整合

当用户进行认证时,服务器生成一个 CSRF 令牌并存储在用户的会话或发送到客户端cookie 中。服务器将 CSRF 令牌发送给客户端,客户端在随后的请求中必须包含此令牌。服务器验证每个请求中包含的令牌是否与存储在会话或 cookie 中的令牌匹配。

Logic-Driven Thought Engineering 2330

SpringBoot整合SpringSecurity

1、前言 之前写过一篇SSM整合SpringSecurity,没看过的可以看看,可以发现在SSM框架里整合Security框架是很繁琐的,所以很多人选择用Shiro搭配SSM使用。而在SpringBoot中,这个情况就不一样了,如果说是简单使用,只需要在SpringBoot项目中加入Security的依赖就可以了,不需要写什么其他的东西。 2、简单使用 首先建一个SpringBoot项目,在pom文件中加入以下依赖: <dependency> <groupId>org.spr

AlaGeek的博客 373

SpringBoot安全框架实战:整合SpringSecurity+JWT+OAuth2.0

在当今的Web应用开发中,安全性是至关重要的一环。Spring Boot作为一款流行的Java开发框架,提供了丰富的安全解决方案。其中,Spring Security是Spring生态系统中用于身份验证和授权的强大框架,JWT(JSON Web Token)则是一种轻量级的身份验证和授权机制,而OAuth 2.0是一种开放标准的授权协议。将这三者整合到Spring Boot项目中,可以为应用提供更加安全、灵活的访问控制。本文将详细介绍如何在Spring Boot项目中整合Spring Security、JW

梵心白莲的博客 970

spring-security结合jwt和umi(react前端框架)企业级框架之前后端分离最佳实战(表单模式登录)(一)

前言 先向大家介绍几个框架的作用,提供官网地址,方便大家详细了解。 spring-security spring-security是一个功能强大、高度可定制的身份验证和访问控制框架。它实际上是保护基于Spring的应用程序的标准。 Spring Security是一个专注于为Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Spring安全的真正威力在于它可以很容易地被扩展以...

龙泉诗 1163

SpringBoot集成Spring Security+jwt+kaptcha验证(简单实现,可根据实际修改逻辑)

super(msg);实现数据库查询用户信息和权限接口,这里配合了mybatis-plus用户信息和权限是分开查询了,建议重新封装@Service@Autowired/*** 根据名称获取用户信息* @return*/@Override/*** 根据id获取用户权限* @return*/@OverrideUserMapper@Mapper。

pedro程序时刻的博客 1274

spring boot 3集成spring security6

spring boot 3集成spring security6

weixin_41463944的博客 493

SpringSecurit实际操作(账号密码数据库)(二)

1、创建springboot项目,导入依赖; <!--导入spring-security依赖就默认进行配置,访问controller就会跳转到默认页面进行登录访问--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency&

a1290320893的博客 1102

JWT整合SpringSecurity

SpringBoot+Mybatis+JWT+SpringSecurity集成过程

yytrobot的博客 648

springsecurity_Spring Security安全管理

目前主流的安全管理框架主要有Spring Security和Shiro。Shiro是一个轻量级框架,配置较为简单。而Spring Security则较为复杂,但功能相对较多。Spring Boot 中对Spring Security做了一系列自动化配置,使得在Spring Boot中使用Spring Security相当方便。Spring Security当引入Spring Security依赖后...

weixin_39770821的博客 459
上一篇: spring之-jdbcTemplate和NamedParameterJdbcTemplate的小差异
下一篇: SpringBoot整合SpringSecurity,SESSION 并发管理,同账号只允许登录一次
codes520
博客等级 码龄9年 2粉丝 0原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值