摘要: 我们也可以在配置类中使用使用配置的方式对资源进行权限控制 阅读全文
posted @ 2023-04-24 17:07 帕拉利斯 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 我们前面都是使用@PreAuthorize注解,然后在在其中使用的是hasAuthority方法进行校验。SpringSecurity还为我们提供了其它方法例如:hasAnyAuthority,hasRole,hasAnyRole等。 ​ 这里我们先不急着去介绍这些方法,我们先去理解hasAutho 阅读全文
posted @ 2023-04-24 17:01 帕拉利斯 阅读(66) 评论(0) 推荐(0) 编辑
摘要: ​ 浏览器出于安全的考虑,使用 XMLHttpRequest对象发起 HTTP请求时必须遵守同源策略,否则就是跨域的HTTP请求,默认情况下是被禁止的。 同源策略要求源相同才能正常进行通信,即协议、域名、端口号都完全一致。 ​ 前后端分离项目,前端项目和后端项目一般都不是同源的,所以肯定会存在跨域请 阅读全文
posted @ 2023-04-24 16:45 帕拉利斯 阅读(13) 评论(0) 推荐(0) 编辑
摘要: ​ 我们希望在认证失败或者是授权失败的情况下也能和我们的接口一样返回相同结构的json,这样可以让前端能对响应进行统一的处理。要实现这个功能我们需要知道SpringSecurity的异常处理机制。 ​ 在SpringSecurity中,如果我们在认证或者授权的过程中出现了异常会被ExceptionT 阅读全文
posted @ 2023-04-24 16:32 帕拉利斯 阅读(23) 评论(0) 推荐(0) 编辑
摘要: ​ 我们只需要根据用户id去查询到其所对应的权限信息即可 ​ 所以我们可以先定义个mapper,其中提供一个方法可以根据userid查询权限信息 创建对应的mapper文件,定义对应的sql语句 在application.yml中配置mapperXML文件的位置 ​ 然后我们可以在UserDetai 阅读全文
posted @ 2023-04-24 16:23 帕拉利斯 阅读(18) 评论(0) 推荐(0) 编辑
摘要: RBAC权限模型(Role-Based Access Control)即:基于角色的权限控制。这是目前最常被开发者使用也是相对易用、通用权限模型 准备工作 创建数据库表 CREATE TABLE `sys_menu` ( `id` bigint(20) NOT NULL AUTO_INCREMENT 阅读全文
posted @ 2023-04-24 16:16 帕拉利斯 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 数据库校验用户 ​ 从之前的分析我们可以知道,我们可以自定义一个UserDetailsService,让SpringSecurity使用我们的UserDetailsService。我们自己的UserDetailsService可以从数据库中查询用户名和密码 数据库 CREATE TABLE `sys 阅读全文
posted @ 2023-04-23 17:05 帕拉利斯 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 限制访问资源所需权限 ​ SpringSecurity为我们提供了基于注解的权限控制方案,这也是我们项目中主要采用的方式。我们可以使用注解去指定访问对应的资源所需的权限。 ​ 但是要使用它我们需要先开启相关配置 我们前面在写UserDetailsServiceImpl的时候说过,在查询出用户后还要获 阅读全文
posted @ 2023-04-23 16:20 帕拉利斯 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 权限系统的作用​ 例如一个学校图书馆的管理系统,如果是普通学生登录就能看到借书还书相关的功能,不可能让他看到并且去使用添加书籍信息,删除书籍信息等功能。但是如果是一个图书馆管理员的账号登录了,应该就能看到并使用添加书籍信息,删除书籍信息等功能。 ​ 总结起来就是不同的用户可以使用不同的功能。这就是权 阅读全文
posted @ 2023-04-23 16:17 帕拉利斯 阅读(24) 评论(0) 推荐(0) 编辑
摘要: ​ 我们需要自定义一个过滤器,这个过滤器会去获取请求头中的token,对token进行解析取出其中的userid。 ​ 使用userid去redis中获取对应的LoginUser对象。 ​ 然后封装Authentication对象存入SecurityContextHolder 退出登陆 ​ 我们只需 阅读全文
posted @ 2023-04-23 16:17 帕拉利斯 阅读(15) 评论(0) 推荐(0) 编辑