Spring Security
文章平均质量分 80
认证和授权是解决软件系统安全的两个基础概念,认证是校验使用者的身份是否合法,授权是校验使用者是否拥有操作资源的权限。互联网的发展也促进了软件开放性设计的进步,软件既要开放又要安全,如何使用统一的方案解决软件自身及外部系统的认证需求是当前互联网应用要考虑的问题,OAuth2.0协议是当前开放流行的认证
Maiko Star
Java领域新星创作者
展开
-
JWT教程
验证时会先验证签名,再验证令牌有没有过期# 签名验证异常 (生成时和验证时的签名不一致,会出现此异常)# 算法不匹配异常 (生成时和验证时的算法不一致,会出现此异常)# 令牌过期异常 (生成时设置的时间超时后,再次验证会出现此异常)# 失效的payload异常 (出现此异常的原因有:可能有人使用base64解析payload,更改了数据payload里解析的数据,再次传过来,验证时会出现此异常)原创 2024-07-06 17:04:49 · 646 阅读 · 0 评论 -
(新)Spring Security其它权限校验方法&自定义权限校验方法
我们也可以定义自己的权限校验方法,在@PreAuthorize注解中使用我们的方法。//获取当前用户的权限//判断用户权限集合中是否存在authority在SPEL表达式中使用 @ex相当于获取容器中bean的名字未ex的对象。然后再调用这个对象的hasAuthority方法。原创 2024-06-23 15:49:06 · 655 阅读 · 0 评论 -
(新)Spring Security如何实现跨域
浏览器出于安全的考虑,使用 XMLHttpRequest对象发起 HTTP请求时必须遵守同源策略,否则就是跨域的HTTP请求。默认情况下是被禁止的。同源策略要求源相同才能正常进行通信,即协议、域名、端口号都完全一致。前后端分离项目,前端项目和后端项目一般都不是同源的,所以肯定会存在跨域请求的问题。所以我们就要处理一下,让前端能进行跨域请求。原创 2024-06-23 14:33:47 · 513 阅读 · 0 评论 -
(新)Spring Security如何自定义失败处理器
Override// 在这里处理认证失败的情况response.getWriter().write("登录失败: " + exception.getMessage());@Override// 在这里处理授权失败的情况response.getWriter().write("权限不足: " + accessDeniedException.getMessage());原创 2024-06-23 14:18:00 · 572 阅读 · 0 评论 -
(新)Spring Security如何实现授权(实战篇)
例如一个学校图书馆的管理系统,如果是普通学生登录就能看到借书还书相关的功能,不可能让他看到并且去使用添加书籍信息,删除书籍信息等功能。但是如果是一个图书馆管理员的账号登录了,应该就能看到并使用添加书籍信息,删除书籍信息等功能。总结起来就是。这就是权限系统要去实现的效果。我们不能只依赖前端去判断用户的权限来选择显示哪些菜单哪些按钮。因为如果只是这样,如果有人知道了对应功能的接口地址就可以不通过前端,直接去发送请求来实现相关功能操作。原创 2024-06-23 11:39:51 · 1177 阅读 · 0 评论 -
(新)Spring Security如何实现登录认证(实战篇)
①编写实现类去实现UserDetailsService接口,然后重写里面的loadUserByUsername()方法,用来用来在数据库中查询用户信息并且封装到UserDetail对象中。其中UserDetail是个接口,我们需要编写相应的实体类去实现这个接口。详细内容如4.2.1、4.2.2②更改密码加密存储模式,这时我们就可以使用Spring Security默认提供的登录接口localhost:8080/login来尝试登陆。详细内容如:4.2.3③如何登陆接口?原创 2024-06-15 16:48:03 · 3412 阅读 · 2 评论 -
(新)Spring Security如何实现登录认证(原理篇)
的原理其实就是一个过滤器链,内部包含了提供各种功能的过滤器。这里我们可以看看下面所提到的过滤器。图中只展示了核心过滤器,其它的非核心过滤器并没有在图中展示。:负责处理我们在登陆页面填写了用户名密码后的登陆请求。入门案例的认证工作主要有它负责。:处理过滤器链中抛出的任何AccessDeniedException和AuthenticationException。:负责权限校验的过滤器。我们可以通过Debug查看当前系统中SpringSecurity过滤器链中有哪些过滤器及它们的顺序。输入求值。原创 2024-06-10 16:26:06 · 394 阅读 · 0 评论 -
(新)Spring Security快速入门
Spring Security是一个Java框架,用于保护应用程序的安全性。它提供了一套全面的安全解决方案,包括身份验证、授权、防止攻击等功能。Spring Security基于过滤器链的概念,可以轻松地集成到任何基于Spring的应用程序中。它支持多种身份验证选项和授权策略,开发人员可以根据需要选择适合的方式。此外,Spring Security还提供了一些附加功能,如集成第三方身份验证提供商和单点登录,以及会话管理和密码编码等。原创 2024-06-10 16:08:56 · 447 阅读 · 0 评论 -
Spring Security 应用详解
开发可以避免一些繁琐的工程 搭建和配置,同时它集成了大量的常用框架,快速导入依赖包,避免依赖包的冲突。、 Spring security等,使用。用于开发Spring Security。工程启动会自动扫描启动类所在包下的所有。开发可以大大得高生产率,所以。自动装配机制,这里无需使用。自动装配机制,这里无需使用。的快速开发框架,基于。原创 2024-06-09 18:27:58 · 1130 阅读 · 1 评论 -
基础概念-认证授权会话
进入移动互联网时代,大家每天都在刷手机,常用的软件有微信、支付宝、头条等,下边拿微信来举例子说明认证相关的基本概念,在初次使用微信前需要注册成为微信用户,然后输入账号和密码即可登录微信,输入账号和密码登录微信的过程就是认证。系统为什么要认证?认证是为了保护系统的隐私数据与资源,用户的身份合法方可访问该系统的资源。原创 2024-06-09 14:43:41 · 923 阅读 · 0 评论