![](https://img-blog.csdnimg.cn/86534da4e0104198aecb723633b90809.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
SpringSecurity
文章平均质量分 87
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Inje
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
别团等shy哥发育
硕士在读,对分布式、中间件、容器、微服务、深度学习、机器学习与数据挖掘方面感兴趣,希望可以在这些方面和大家交流学习方法。
后续文章会搬到这里:www.codeleader.top
展开
-
SpringSecurity登录验证码功能实现
super(msg);} }这里你需要配置全局异常处理类,我的全局异常处理如下,我为了方便直接捕获了所有的运行时异常。/*** 全局异常处理log . error("运行时异常:------{}" , e . getMessage());} }原创 2023-03-01 10:43:41 · 190 阅读 · 1 评论 -
SpringSecurity全局方法安全性:预授权和后授权
SpringSecurity全局方法安全性:预授权和后授权1、非Web应用程序能否使用Spring Security实现授权?2、启用全局方法安全性2.1 理解调用授权2.1.1 使用预授权保护对方法的访问2.1.2 使用后授权保护对方法的调用2.2 在项目中启用全局方法安全性3、对权限和角色应用预授权3.1 UserDetailsService和Password的配置类3.2 服务类在方法上定义预授权规则3.3 实现端点并使用服务的控制器类3.4 测试3.5 定义测试端点的控制器类3.6 NameServ原创 2022-03-06 19:44:23 · 4693 阅读 · 3 评论 -
OAuth2:使用JWT和加密签名
OAuth2:使用JWT和加密签名1、简介2、使用JWT以及对称密钥签名的令牌2.1 使用JWT2.2 实现授权服务器以颁发JWT2.2.1 项目依赖2.2.2 配置JwtTokenStore2.2.3 为授权服务器配置用户管理2.2.4 启动项目获取访问令牌2.3 实现使用JWT的资源服务器2.3.1 项目依赖2.3.2 添加测试端点2.3.3 资源服务器的配置类2.3.4 测试3、使用通过JWT和非对称密钥签名的令牌3.1 什么是非对称密钥对?3.2 生成密钥对3.3 实现使用私钥的授权服务器3.3.1原创 2022-03-05 15:01:41 · 5061 阅读 · 2 评论 -
OAuth2的运行机制(GitHub单点登录)
OAuth2的运行机制1、OAuth2框架简介2、OAuth2身份验证架构中的组件3、使用OAuth2的实现选项3.1 实现授权码授权类型3.2 使用密码授权类型3.3 实现客户端凭据授权类型3.4 使用刷新令牌获得新的访问令牌4、实现一个简单的单点登录应用程序4.1 管理授权服务器4.2 开始实现4.2.1 控制器类4.2.2 main.html4.3.3 配置类4.3 实现ClientRegistration4.3.1 创建一个ClientRegistration实例4.3.2 在配置类中构建Clien原创 2022-03-02 19:13:06 · 1378 阅读 · 1 评论 -
SpringSecurity职责分离(身份验证服务器+业务逻辑服务器+JWT)
SpringSecurity职责分离1、功能简述1.1 组件介绍1.2 调用过程2、实现身份验证服务器2.1 项目依赖2.2 数据库脚本2.3 application.properties2.4 身份验证服务器的配置类2.5 两个JPA实体2.6 两个Repository接口2.7 自动装配UserService类中的依赖项2.8 addUser()方法的定义2.9 实现身份验证的第一个步骤2.10 生成OTP2.11 验证OTP2.12 AuthController定义2.13 测试3、实现业务逻辑服务器原创 2022-02-27 21:22:01 · 1202 阅读 · 0 评论 -
SpringSecurity实现过滤器
SpringSecurity实现过滤器1、概述2、Spring Security架构中实现过滤器3、在过滤器链中现有过滤器之前添加过滤器3.1 实现一个自定义过滤器3.2 在身份验证之前配置自定义过滤器3.3 控制器类3.4 测试4、在过滤器链中已有的过滤器之后添加过滤器4.1 定义一个过滤器来记录请求4.2 在过滤器链中的现有过滤器之后添加自定义过滤器4.3 测试5、在过滤器链中另一个过滤器的位置添加一个过滤器5.1 StaticKeyAuthenticationFilter类的定义5.2 将过滤器添加到原创 2022-02-24 15:21:00 · 3232 阅读 · 1 评论 -
Spring Security配置权限:应用限制
Spring Security配置权限:应用限制1、匹配器说明2、使用匹配器方法选择端点2.1 控制器类的定义2.2 配置类的定义2.3 测试2.4 补充:让所有经过身份验证的用户都可以访问其他请求3、三种匹配器3.1 使用MVC匹配器选择用于授权的请求3.1.1 为其配置授权的4个端点的定义3.1.2 UserDetailsService定义3.1.3 用于第一个场景/a的授权配置3.1.4 调用测试3.1.5 其他配置3.2 使用Ant匹配器选择用于授权的请求3.2.1 控制器类种/hello端点的定义原创 2022-02-21 19:44:31 · 1039 阅读 · 0 评论 -
SpringSecurity配置权限:限制访问
SpringSecurity配置权限:限制访问1、概述2、基于权限和角色限制访问2.1 基于用户权限限制所有端点的访问2.1.1 项目依赖项:2.1.2 添加一个端点来测试授权配置2.1.3 声明UserDetailsService并指定用户2.1.4 应用hasAnyAuthority方法2.1.5 使用access()方法配置端点访问3、基于用户角色限制所有端点的访问3.1 为用户设置角色3.2 配置应用程序以便只接受来自管理员的请求3.3 测试3.4 使用roles()方法设置角色4、限制对所有端点的原创 2022-02-19 18:12:06 · 6343 阅读 · 0 评论 -
SpringSecurity实践:小型且安全的Web应用程序
SpringSecurity实践:小型且安全的Web应用程序1、项目需求和设置1.1 项目需求1.2 开发前的准备2、实现用户管理2.1 实现步骤2.2 为每个PasswordEncoder注册一个bean2.3 User实体类2.4 Authority实体2.5 User实体的Spring Data存储库定义2.6 UserDetails接口的实现2.7 UserDetailsService接口的实现3、实现自定义身份验证逻辑3.1 实现AuthenticationProvider3.2 在配置类中注册A原创 2022-02-18 20:01:37 · 1529 阅读 · 0 评论 -
SpringSecurity身份验证之AuthenticationProvider接口
理解AuthenticationProvider1、简介1.1 在身份验证期间表示请求1.2 实现自定义身份验证逻辑1.3 应用自定义身份验证逻辑1.3.1 实现步骤1.3.2 重写AuthenticationProvider的supports()方法1.3.3 实现身份验证逻辑1.3.4 在配置类中注册AuthenticationProvider1、简介 在企业级应用程序中,你可能会发现自己处于这样一种状况:基于用户名和密码的身份验证的默认实现并不适用。另外,当涉及身份验证时,应用程序可能需要实现几原创 2022-02-17 11:44:08 · 6029 阅读 · 2 评论 -
理解SpringSecurity中的PasswordEncoder接口
理解SpringSecurity中的PasswordEncoder接口1、理解PasswordEncoder接口1.1 PasswordEncoder接口的定义1.2 实现PasswordEncoder接口1.2.1 明文管理密码NoOpPasswordEncoder1.2.2实现使用SHA-512的PasswordEncoder1.3 从PasswordEncoder提供的实现中选择2、身份验证流程中的主要接口总结1、理解PasswordEncoder接口下图回顾了PasswordEncoder在身份原创 2022-02-14 16:57:05 · 2188 阅读 · 0 评论 -
SpringSecurity记住登录实现(Web权限方案)
SpringSecurity记住登录实现一、记住登录流程二、实现原理三、实现步骤2.1 创建数据库表2.2 配置类,注入数据源,配置操作数据库对象2.3 配置类配置自动登录2.4 登录前端页面login.html四、运行测试一、记住登录流程二、实现原理三、实现步骤2.1 创建数据库表其实可以通过查看源码直接建表。如下图所示,你也可以直接将源码中的sql语句复制,然后再建表。这里我们使用自己的sql语句建表。CREATE TABLE `persistent_logins` ( `user原创 2021-06-19 11:21:12 · 250 阅读 · 0 评论 -
SpringSecurity认证授权的注解使用
SpringSecurity认证授权的注解使用1、@Secured注解1.1 启动类开启注解1.2 在controller的方法上面使用注解,设置角色1.3 userDetailService设置用户角色1.4 启动测试2、@PreAuthorize注解2.1 开启注解功能2.2 在controller的方法上添加注解3、@PostAuthorize注解4、@PostFilter注解5、@PreFilter注解1、@Secured注解判断是否具有角色,另外需要注意的是这里匹配的字符串需要添加前缀“ROL原创 2021-06-18 19:26:10 · 356 阅读 · 0 评论 -
SpringSecurity配置403权限访问页面
SpringSecurity配置403权限访问页面1、未配置之前2、开始配置2.1 新建一个unauth.html2.2 在继承WebSecurityConfigurerAdapter的配置类中设置2.3 继承UserDetailsService接口的实现类3、测试1、未配置之前2、开始配置2.1 新建一个unauth.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"原创 2021-06-18 12:19:13 · 545 阅读 · 1 评论 -
SpringSecurity自定义设置登录界面
SpringSecurity自定义设置登录界面1、先创建自定义登录页2、在配置类中实现相关的配置3、测试1、先创建自定义登录页login.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <form action="/us原创 2021-06-18 11:56:14 · 446 阅读 · 1 评论 -
SpringSecurity中web权限方案认证(查询数据库认证)
SpringSecurity中web权限方案认证1、引入依赖2、创建数据库和数据库表3、创建users表对应的实体类4、整合mapper,创建接口,继承BaseMapper接口5、在MyUserDetailsService调用mapper里面的方法查询数据库进行用户认证6、在启动类添加注解MapperScan7、配置数据库信息8、测试用的controller9、以debug方式启动项目10 正常运行项目1、引入依赖引入lombok、mybatis-plus、springsecurity、mysql相关依原创 2021-06-17 22:24:05 · 308 阅读 · 1 评论