自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Spring Oauth2 最新授权端点,新旧授权端点对照

另外传参方式也有所不同,在最新版本(1.3.x)中要求通过x-www-form-urlencoded传递授权参数,而不是body。如果url携带参数,它会把url参数全部移除。而我记得在1.2.x版本中参数可以放在url里。在spring-security-oauth2-authorization-server 1.2.x 及以上版本,Oauth2的授权端点明显有改变。

2025-01-12 19:23:13 376

原创 SpringSecurity BCryptPasswordEncoder 相同明文加密后密文不一样?

问题描述SpringSecuity BCryptPasswordEncoder 相同明文加密后明文不一样。原理探究BCryptPasswordEncoder其实不算加密器,它是不可逆加密,本质是哈希操作,密文无法还原为明文。BCryptPasswordEncoder加密原理是,每次加密时加密器会随机生成一个盐值,然后用盐值和明文结合根据Blowfish算法生成最终哈希值。既然每次的盐值都是随机生成的,那么相同的明文加密后得到的哈希肯定不一样。那么如何验证明文和密文是否相等?已加密的密文哈希值中包含

2025-01-12 18:34:08 360

原创 SpringSecurity猥琐扩展短信验证码登录

项目登录框架用的是SpringSecurity,现要求扩展短信验证码模式,常规方法是实现AbstractAuthenticationProcessingFilter,AuthenticationProvider,AbstractAuthenticationToken。注意OncePasswordEncoderProxy的创建传入的被代理BCryptPasswordEncoder,你原来用的是什么就用什么,不然已有用户是无法完成密码校对的!关于AccountType,这是我封装的类。

2025-01-03 18:37:12 1647

原创 Oauth2扩展授权信息 token Redis存储

由于认证中心是多实例部署,这是后用内存存储(InMemoryOAuth2AuthorizationService)那么不透明token就无法完成分布式核验,如果用数据库存储(JdbcOAuth2AuthorizationService), 显然不满足高性能要求。所以不得不暴力扩展.1.也可以用代理+缓存的方式实现,但是findIdByToken的逻辑比较复杂,用缓存删除授权信息比较麻烦。2.本文的实现用了HashOperations#entries(), 这是个糟糕的使用方式,可以进一步优化。

2025-01-03 15:37:54 874

原创 SpringSecurity报错: does not have a registered order

只有规定的那几类过滤器可以被添加到Security框架中。代码中OncePasswordAuthenticationFilter.class改为org.springframework.security.config.annotation.web.builders.FilterOrderRegistration中构造函数内指定的那几个,且你的类要实现对于的Filter.1.spring-security 为6.3版本。

2025-01-03 15:06:34 433

原创 授权码模式获取token报错: is not in the allowlist. If you believe this class is safe to deserialize

而最后一个参数类RowMapper用的是JdbcOAuth2AuthorizationService#getAuthorizationRowMapper(), 默认情况下显然不会包括你自定义用户的ObjectMapper, 所以无法反序列化。查找授权信息,这是后如果用的是JdbcOAuth2AuthorizationService,那么就会调用JdbcOperations#query(String, PreparedStatementSetter, RowMapper),

2024-12-28 03:10:07 314

原创 面试遇到的奇怪逻辑题

面试遇到的逻辑题。

2023-07-12 22:22:14 258 1

原创 mysql普通索引查询优化(innoDB,B-tree索引)

本文介绍mysql普通索引的查询逻辑。

2023-06-27 09:15:27 33

原创 mysql索引排序(innoDB引擎)

本文介绍了mysql innodb存储引擎下索引排序规则以及排序优化

2023-06-27 07:11:17 1790

键盘扫描码表.xlsx

windows系统更改键位的扫描码映射

2025-01-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除