随笔分类 - SpringSecurity框架教程
发表于 2023-04-24 11:08阅读:35评论:0推荐:0
摘要:认证成功处理器 实际上在UsernamePasswordAuthenticationFilter进行登录认证的时候,如果登录成功了是会调用AuthenticationSuccessHandler的方法进行认证成功后的处理的。AuthenticationSuccessHandler就是登录成功处理器。
阅读全文 »
发表于 2023-04-24 09:27阅读:47评论:0推荐:0
摘要:自定义权限校验方法 我们也可以定义自己的权限校验方法。在@PreAuthorize注解中使用我们的方法。 创建expression包,在该包下创建SGEexpression类 @Component("ex") public class SGEexpression { public boolean h
阅读全文 »
发表于 2023-04-23 19:38阅读:92评论:0推荐:0
摘要:跨域问题解决 浏览器出于安全的考虑,使用XMLHttpRequest对象发起HTTP请求时必须遵守同源策略,否则就是跨域的HTTP请求,默认情况下是被禁止的。同源策略要求源相同才能正常进行通信,即协议、域名、端口号都完全一致。 前后端分离项目前端项目和后端项目一般都不是同源的,所以肯定会存在跨域请求
阅读全文 »
发表于 2023-04-23 14:22阅读:19评论:0推荐:0
摘要:从数据库查询权限信息 我们只需要根据用户id去查询到其所对应的权限信息即可。 所以我们可以先定义个mapper,其中提供一个方法可以根据userid查询权限信息。 MenuMapper持久层接口 public interface MenuMapper extends BaseMapper<Menu>
阅读全文 »
发表于 2023-04-23 11:46阅读:436评论:1推荐:0
摘要:RBAC权限模型 RBAC权限模型(Role-Based Access Control)即:基于角色的权限控制。这是目前最常被开发者使用也是相对易用、通用权限模型。 建表及SQL语句编写 准备工作 创建数据库SQL表 CREATE DATABASE /*!32312 IF NOT EXISTS*/`
阅读全文 »
发表于 2023-04-23 10:58阅读:38评论:0推荐:0
摘要:设置权限所需资源 SpringSecurity为我们提供了基于注解的权限控制方案,这也是我们项目中主要采用的方式。我们可以使用注解去指定访问对应的资源所需的权限。 但是要使用它我们需要先开启相关配置。 @EnableGlobalMethodSecurity(prePostEnabled = true
阅读全文 »
发表于 2023-04-23 09:39阅读:160评论:0推荐:0
摘要:退出登录 我们只需要定义一个登录接口,然后获取SecurityContextHolder中的认证信息,删除redis中对应的数据即可。 LoginController控制层 @RestController public class LoginController { @Autowired priva
阅读全文 »
发表于 2023-04-22 16:22阅读:127评论:0推荐:0
摘要:token认证过滤器代码实现、配置认证过滤器 我们需要自定义一个过滤器,这个过滤器会去获取请求头中的token,对token进行解析取出其中的userid。 使用userid去redis中获取对应的LoginUser对象。 然后封装Authentication对象存入SecurityContextH
阅读全文 »
发表于 2023-04-22 15:27阅读:55评论:0推荐:0
摘要:铺垫知识jwt工具类使用 JWT工具类:JWTUtil public static void main(String[] args) throws Exception { // 加密 String jwt = createJWT("2123"); System.out.println(jwt); /
阅读全文 »
发表于 2023-04-22 13:57阅读:64评论:0推荐:0
摘要:数据库校验用户核心代码实现 核心代码实现 创建一个UserDetailsService接口,重写其中的方法。更加用户名从数据库中查询信息 @Service public class UserDetailsServiceImpl implements UserDetailsService { @Aut
阅读全文 »
发表于 2023-04-22 11:31阅读:16评论:0推荐:0
摘要:准备工作 1、添加依赖 <!--redis依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependen
阅读全文 »
发表于 2023-04-22 10:55阅读:43评论:0推荐:1
摘要:入门案例认证流程图讲解 概念速查: Authenticcation接口:它的实现类,表示当前访问系统的用户,封装了用户相关信息。 AuthenticcationManager接口:定义了认证Authenticcation的方法 UserDetailsService接口:加载用户特定数据的核心接口。里
阅读全文 »
发表于 2023-04-22 10:10阅读:277评论:0推荐:0
摘要:SpringSecurity完整流程 SpringSecurity的原理其实就是一个过滤器链,内部包含了提供各种功能的过滤器。这里我们可以看看入门案例中的过滤器。 图中只展示了核心过滤器,其它的非核心过滤器并没有在图中展示。 UsernamePasswordAuthenticationFilter:
阅读全文 »
发表于 2023-04-22 09:53阅读:19评论:0推荐:0
摘要:前后端分离项目登录校验流程、分析需要修改的地方 登录校验流程 原理初探 想要知道如何实现自己的登录流程就必须要先知道入门案例中的SpringSecurity的流程。 前后端分离项目登录校验流程、分析需要修改的地方
阅读全文 »
发表于 2023-04-22 09:44阅读:28评论:0推荐:0
摘要:SpringSecurity入门案例准备工作 1.快速入门 1.1准备工作 我们先要搭建一个简单的SpringBoot工程 1、设置父工程 添加依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boo
阅读全文 »
发表于 2023-04-22 08:58阅读:10评论:0推荐:0
摘要:课程介绍 课程简介 Spring Security 是Spring家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。 一般来说中大型的项目都是使用SpringSecurity 来做安全框架。小项目有Shiro的比较多,因为相比与Spring
阅读全文 »