用户认证篇

2023-12-23 17:55:52

1. 如何生成用户认证token令牌

在这里插入图片描述

1.1 相关表

分为访问令牌access_token和刷新令牌refresh_token, 分别保存在system_oauth2_access_tokensystem_oauth2_refresh_token
访问令牌设置的过期时间一般比较短,通常为30min,刷新令牌可以设置很长时间,比如30天。访问令牌快过期,可以用刷新令牌获得一个新的访问令牌。

1.2 生成令牌逻辑

先生成刷新令牌,再生成访问令牌。

  • 入口
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 生成刷新令牌
    在这里插入图片描述
  • 生成访问令牌
    在这里插入图片描述

1.3 最终结果

在这里插入图片描述

2. 如何认证用户token令牌

在这里插入图片描述

2.1 前端组件

在前端yudao-ui-admin-vue3里面,看service.ts,拦截请求,在请求header添加访问token。
在这里插入图片描述

2.2 TokenAuthenticationFilter

在这里插入图片描述

2.3 获得登陆用户

SecurityFrameworkUtils的getLoginUser方法,2.2步骤当中已经设置在SecurityContext。

3. 如何刷新用户认证 Token 令牌

在这里插入图片描述

3.1 前端组件

在前端yudao-ui-admin-vue3里面,看service.ts,拦截响应。如果返回错误401,则刷新令牌。
在这里插入图片描述

3.2 刷新令牌接口

/system/auth/refresh-token
在这里插入图片描述
在这里插入图片描述

4. 如何模拟用户认证token令牌

在这里插入图片描述

http://127.0.0.1:48080/doc.html#/home
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 如何实现URL需要登陆

在这里插入图片描述
主要看YudaoWebSecurityConfigurerAdapter#filterChain。

5.1 @PermitAll

这个注解上JavaEE的标准。有该注解的URL免登陆。

  • 如何获得有该注解的URL。
    在这里插入图片描述
    在这里插入图片描述
  • 免登陆
    在这里插入图片描述

5.2 @PreAuthenticated

APP应用大部分不需要认证,比如在京东访问商品页面等,但有些场合上一定要登陆的,比如重置密码。
通过aop实现。
在这里插入图片描述

5.3 每个项目自定义URL规则

在这里插入图片描述
比如这个:

在这里插入图片描述

5.4 兜底

必须认证。
在这里插入图片描述

文章来源:https://blog.csdn.net/qq_39530821/article/details/135167445
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。