主要是三个框架的集成配置,以及各个独立的配置(主要是 JWT + Security 的登录验证)。
流程:
- 构建 Spring Boot 基本项目,准备数据库表 User —— 用于存放登录实体类信息。
- 配置 Security 和 Swagger2 环境,确保没有什么问题。
- 构建 ,,
- 让 User 实现 接口,重写部分方法。
- 配置 Security 实现重写 方法,以及 并加上 注解。这两个主要用于设置 Security 的认证。
- 构建 类——自定义 JWT Token 拦截器,并在 的授权方法中添加此拦截器。
- 在 配置类中,配置有关 Security 的 Token 认证。
- 启动项目查看代码是否准确。
项目子模块:,父模块已引入
构建数据库表:user
配置 文件参数:
User 实体类代码:
先配置好这两个确保没有什么问题,因为重点是 JWT,这两个配置比较简单,当搭配了 JWT 之后,Swagger2 也需要与两者集成一些配置,这个后面再说,现在只配置基本设置。
上面使用 放行了 请求,在 中。
这意味除了 会被放行,其他请求都会被 Security 拦截重定向到 (这个请求 Security 内部已经实现了包括相关页面)。
运行效果:
修改一下 Rustful 风格,并加了一个 请求,不放行,打印内容相同。
可以看到 Security 和 Swagger2 基本配置完成。
JWT 工具类主要用于生成 JWT,判断 JWT 是否有效,刷新 JWT 等方法。
公共响应对象——,返回的都已 JSON 格式返回。
由于 Security 框架的性质,自定义授权和认证时,一般情况下会自定义 UserDetails。
这个类就只有一个方法:
,该方法用于根据用户名加载用户信息,用作于 Security 的后续认证,同时也可以用一个类去实现该接口,这里为了方便,同时也是 Lambda 表达式。
注意:这里的 没有代码展示了,就一个根据用户名查询用户信息的 SQL。
这个类主要用于验证表单提交的密码是否和 重写之后的 UserDetailsServer 得到的 UserDetails 中的加密密码一致。
,使用的时 MVC 模式,所以只展示实现类:
由于 JWT 的加入,所以 Swagger2 的方法请求也是需要带入 JWT 令牌,提供了 Security 的全局认证。
只展示了修改的部分。
修改的部分直接 CV 大法即可。
可以看到利用 Swagger2 的调试,返回 JWT Token 令牌成功!
将令牌设置到 Swagger2 中
这样之前的 就可以请求成功了:
说明 Swagger2 设置 JWT 也成功了,每次发送请求,头部都会携带 JWT 令牌。
还是对 Security 不太熟悉,Swagger2 的配置比较固定
JWT 主要也是两个点:
- JWT Token Utile 工具类,主要用于管理 JWT 令牌。
- JWT Token Filter JWT 拦截器,这个就是 Security 和 JWT 的集成了,以及请求发来的时候解析 JWT 从而完成免登录这一操作。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/31740.html