自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 雪花算法结合redis有序列表score的思考

雪花算法Id:double尾数位为52位,Long为64位,差了12位,自然会产生精度丢失,怎么解决呢?对雪花算法生成的id进行处理,产生一个52位的数,这样就不会精度丢失了,也就是要去除12bit,去除最高位1bit,去除工作机器id10bit,还有1bit需要去除因为雪花算法的时间戳是毫秒级的,同一个机器id可以在一毫秒生成212=4096个id,我们的业务**到不了这么多的发帖量**,去掉一位后,一个机器可以一毫秒生成211=2048个id,完全够用了!!!去除时间戳最高位可行性分析。

2023-12-07 13:18:30 87

原创 01.网关认证

说明:统一认证入口是客户端所有访问微服务的请求都要经过网关,在网关进行用户身份的**认证(检验是否登录)**可以将很多非法的请求拦截到微服务以外,这叫做网关认证。

2023-12-04 20:16:33 103

原创 02.连接用户中心数据库

相比较而言,方案二比较简单还不用破坏UserDetails的结构,我们采用方案二。

2023-12-04 20:15:58 47

原创 03.自定义认证方式

在provider处对上面定义的token进行校验(如果返回了就是验证成功了),在provider处的自由度很高,可以自定义与数据库的交互,但一般是定义一个EmailUserDetailsService来进行数据库的读取。cybb:Granter会将对应的Token传递给ProviderManager,进行认证。

2023-12-04 20:14:36 30

原创 04.用户授权

下边代码指定/course/list接口需要拥有xc_teachmanager_course_list 权限。xc_permission:角色权限表,一个角色可拥有多个权限,一个权限可被多个角色所拥有。xc_user_role:用户角色表,一个用户可拥有多个角色,一个角色可被多个用户所拥有。xc_role:角色表,存储了系统的角色信息,学生、老师、教学管理员、系统管理员等。xc_user:用户表,存储了系统用户信息,用户类型包括:学生、老师、管理员等。xc_menu:模块表,记录了菜单及菜单下的权限。

2023-12-04 20:13:18 14

原创 05.扩展jwt

因为JwtAccessTokenConverter也是一个TokenEnhancer,他会从map中取出值,然后生成token。如果自定义的tokenEnhancer放在了JwtAccessTokenConverter的后面,那token已经生成了,所以就无效了。//配置扩展信息,一定要将自定义的TokenEnhancer放在前面,否则无效。

2023-12-04 20:12:24 14

原创 05.怎么拓展token?

方法,将authentication中的“user_info”添加到map中!但是这样有一个弊端,就是你拓展信息不仅会出现在jwt令牌中,还会出现在token中。因为只要生成token就会调用convertUserAuthentication,所以生成jwt令牌时调用一次、生成token时又会调用一次。方法,这个方法就是将authentication转换为map**(map就是token中的键值对!在扩展jwt令牌信息的时候,我们选择TokenEnhancer来进行增加信息,但在看源码的过程中,发现在。

2023-12-04 20:11:17 29

原创 06.授权服务器自定义返回数据

【代码】06.授权服务器自定义返回数据。

2023-12-04 20:10:32 18

原创 07.资源白名单token过期问题

在我的项目中,在网关中统一认证,资源服务器只进行鉴权。若请求没有携带token,则访问一切正常。因为网关处不需要认证,资源服务器也没有token进行解析。,那么就出现了问题,网关还是不会认证,但是资源服务器对token进行解析后防线token过期了。但是如果请求携带了一个。

2023-12-04 20:09:51 82

原创 08.feign远程调用方法需要认证信息的问题

写一个拦截器,在feign请求前添加一个Header,将令牌带上。

2023-12-04 20:09:21 76

原创 09.使用refresh token刷新令牌出现信息丢失

通过认证的原理得知,认证分为两步,1.获取Authentication(之前的做法将扩展信息存入Authentication的principal中,可以看05.扩展jwt) 2.通过Authentication生成token(可以看05.怎么扩展token)。根据源码的分析,就是在这个方法中没有将map(map中存的是refreshToken的信息)中我们扩展的信息赋值给principal,所以我们可以想办法重写这个方法。这一行中,只将USERNAME赋给了principal,导致信息的丢失,

2023-12-04 20:07:54 222

原创 教你手写cat指令

这样在当前目录下编译出一个可执行文件 demo./demo若想直接demo来执行程序,因为在$PATH中没有当前目录, 所以系统不认识demo。所以要用./来指定当目录。也可以将当前目录添加入$PATH中。(但不建议这样使用哦)

2023-11-02 12:11:14 46

空空如也

空空如也

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

TA关注的人

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