OAuth2
49 篇文章
oauth2
SpringSecurity—OAuth 2(一)
OAuth OAuth 是一个开放标准,该标准允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如头像、照片、视频等),而在这个过程中无需将用户名和密码提供给第三方应用。实现这一功能是通过提供…
SpringBoot—AntPathMatcher匹配原则和含义
在使用spring security做登陆鉴权。登陆界面相关CSS和JS,以及部分api接口需要忽略,于是代码中用到了anyMatchers。 @Override public void config…
SpringSecurity—实现自动登录功能
自动登录是我们在软件开发时一个非常常见的功能,例如我们登录 QQ 邮箱: 很多网站我们在登录的时候都会看到类似的选项,毕竟总让用户输入用户名密码是一件很麻烦的事。 自动登录功能就是,用户在登录成功后,…
SpringSecurity—如何将用户数据存入数据库(自带设计)
真正的项目中,大部分情况下,我们都是自己设计权限数据库, 不过,Spring Security 也给我们提供了一个它自己设计好的权限数据库,这里我们先来看看这是怎么回事! 1.UserDetailSe…
SpringSecurity—四种权限控制方式
Spring Security 中对于权限控制默认已经提供了很多了,但是,一个优秀的框架必须具备良好的扩展性,恰好,Spring Security 的扩展性就非常棒,我们既可以使用 Spring Se…
SpringSecurity—异常处理机制
在 Spring Security 的过滤器链中,ExceptionTranslationFilter 过滤器专门用来处理异常,在 ExceptionTranslationFilter 中,我们可以看…
SpringSecurity 竟然可以同时存在多个过滤器链?
首先这个问题本身是有点问题的,因为 http.authorizeRequests() 并非总是第一个,虽然大部分情况下,我们看到的是第一个,但是也有很多情况 http.authorizeRequest…
SpringSecurity—基本原理
上一篇笔记讲述了一些关键点和基本的流程,通过上一篇了解了基本的知识为下面做铺垫。 http://www.enmalvi.com/2020/07/15/springsecurity-3/ 三句话解释框架…
SpringSecurity—基础知识点与流程介绍
上次的关于SpringSecurity的几个关键词整理比较散乱,是从表层应用出发的流程和所用到的类,这篇笔记是上一篇的扩充,更加的清晰。 http://www.enmalvi.com/2020/04/…
Spring—DelegatingFilterProxy的作用与用法 (过滤器授权代理)
继承的关系: 作用: DelegatingFilterProxy类存在与spring-web包中,其作用就是一个filter的代理,用这个类的好处是可以通过spring容器来管理filter的生命周期…
SpringSecurity 配置中的 and 到底该怎么理解?
在写SpringBoot中的时候最常用的安全框架不是Shiro而是SpringSecurity,即使它是重量级的框架但是和Spring高度契合,原本的复杂的xml配置全是都有Boot自动配置搞定了,但…
SpringSecurity addFilter() 顺序问题
我们假设我们使用addFilterAt(A, B.class)。 即将A拦截器添加到B拦截器的位置。那么addFilterAt 既然没有覆盖原先的拦截器,那么A不是在B拦截器前面就是在B拦截器后面,那…
SpringSecurity—捋一遍登录流程( 从源码出发 )
先来大致描述一下问题场景: 你在服务端的安全管理使用了 Spring Security,用户登录成功之后,Spring Security 帮你把用户信息保存在 Session 里,但是具体保存在哪里,…
SpringSecurity的几个重要词(简单的登录流程)
1.SecurityContextHolder:是安全上下文容器,可以在此得知操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保存在SecurityContextHolder中。 O…
Spring Security—前后端分离登录,非法请求直接返回 JSON
Spring Security 中未获认证的请求默认会重定向到登录页,但是在前后端分离的登录中,这个默认行为则显得非常不合适,今天我们主要来看看如何实现未获认证的请求直接返回 JSON ,而不是重定向…
Spring Security—登录添加验证码
登录添加验证码是一个非常常见的需求,网上也有非常成熟的解决方案,其实,要是自己自定义登录实现这个并不难,但是如果需要在 Spring Security 框架中实现这个功能,还得稍费一点功夫,本文就和小…
SpringBoot—Spring Security 中使用 JWT ( 无状态登录 )
在前后端分离的项目中,登录策略也有不少,不过 JWT 算是目前比较流行的一种解决方案了,本文就和大家来分享一下如何将 Spring Security 和 JWT 结合在一起使用,进而实现前后端分离时的…
SpringSecurity—AuthenticationManager 验证原理分析
在 UsernamePasswordAuthenticationFilter 源码分析 中,最后在类UsernamePasswordAuthenticationFilter 的验证方法 attempt…
SpringSecurity—UsernamePasswordAuthenticationFilter 源码分析
UsernamePasswordAuthenticationFilter 是 AbstractAuthenticationProcessingFilter 的子类,主要作用是对用户身份信息的验证。 关…
SpringSecurity—AbstractAuthenticationProcessingFilter 源码解析
AbstractAuthenticationProcessingFilter 是处理 form 登陆的过滤器,与 form 登陆有关的所有操作都是在该类及其子类中进行的。 继承关系 public ab…
SpringBoot—SpringSecurity登录使用( JSON 格式数据 )
在使用 SpringSecurity 中,大伙都知道默认的登录数据是通过 key/value 的形式来传递的,默认情况下不支持 JSON格式的登录数据,如果有这种需求,就需要自己来解决。 基本登录方案…
SpringBoot—结合Oauth2(密码模式)
什么是OAuth2 OAuth 是一个开放标准,该标准允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如头像、照片、视频等),而在这个过程中无需将用户名和密码提供给第三方应用。实现这一功能是…
SpringBoot—SpringSecurity(基于数据库的动态权限配置)
前面在这个讲了SpringSecurity 基于数据库的认证,但是这个认证中的用户认证是有问题的,因为里面的用户权限都是写死的,很难更改,所以用数据库的动态配置就能解决这个问题! http://www…
SpringBoot—SpringSecurity(角色继承问题)
角色继承实际上是一个很常见的需求,因为大部分公司治理可能都是金字塔形的,上司可能具备下属的部分甚至所有权限,这一现实场景,反映到我们的代码中,就是角色继承了。 Spring Security 中为开发…
SpringSecurity—核心组件UserDetailsService
UserDetails => Spring Security基础接口,包含某个用户的账号,密码,权限,状态(是否锁定)等信息。只有getter方法。Authentication => 认证对象,认证开…
SpringBoot—整合SpringSecurity(基于数据库的认证)
在前面的 SpringBoot—整合SpringSecurity(安全框架) 里讲了对登录的用户名/密码进行配置,有三种不同的方式: 在 application.properties 中进行配置通过 …
SpringBoot—整合SpringSecurity(方法安全)
方法安全 SpringSecurity除了可以配置登录这些之外还可以给方法加密,限制访问方法,只有规定的人才可以访问这个角色。 通常采用的三个注解,就是@Secured(), @PreAuthoriz…
SpringSecurity—WebSecurityConfigurerAdapter(自定义配置入口)
自定义 Spring Boot Web 安全配置类 我们使用我们最擅长的 Ctrl + C 、Ctrl + V 抄源码中的 SpringBootWebSecur…
SpringBoot—整合SpringSecurity(安全框架)
Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展了多年了,但是使用的并不多,安全管理…
SpringBoot—搞定 session 共享
在传统的单服务架构中,一般来说,只有一个服务器,那么不存在 Session 共享问题,但是在分布式/集群项目中,Session 共享则是一个必须面对的问题,先看一个简单的架构图: 在这样的架构中,会出…