失效链接处理 |
springboot使用jwt保护RestApi接口 PDF 下载
本站整理下载:
相关截图:
主要内容:
一、Jwt 介绍
JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,
用于作为 JSON 对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。
Jwt 主要应用场景:授权
Authorization (授权) : 这是使用 JWT 的最常见场景。一旦用户登录,后续每个请求都将包含 JWT,允许用户访问该令牌允许的路由、服务和资源。单点登录是现在广泛使用的 JWT 的
一个特性,因为它的开销很小,并且可以轻松地跨域使用。
在认证的时候,当用户用他们的凭证成功登录以后,一个 JSON Web Token 将会被返回。此后,token 就是用户凭证了。为什么不用 session:因为做了完全的前后端分离,前段页面每次发出 Ajax 请求都会建立一个新的回话请求,没办法通过 session 来记录跟踪用户回话状态。所以采用 JWT,来完成回话跟踪、身份验证。Session 是在服务器端的,而 JWT 是在客户端的。
JWT 使用流程:
用户携带用户名和密码请求访问
服务器校验用户凭据
应用提供一个 token 给客户端
客户端存储 token,并且在随后的每一次请求中都带着它
服务器校验 token 并返回数据
二、搭建基础 SpringBoot 工程
2.1、新建一个 SpringBoot 工程,引入所需依赖包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2.2、编写测试 Controller HelloController
package com.offcn.controller;
import
org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "hello";
}
}
2.3、编写应用主启动类
package com.offcn;
import
org.springframework.boot.SpringApplication;
import
org.springframework.boot.autoconfigure.SpringBootApplication;
import
org.springframework.context.annotation.Bean;
import
org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
@SpringBootApplication
public class SpringbootSecurityJwtApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootSecurityJwtApplication.class, args);
}
}
2.4、测试应用
访问地址:http://localhost:8080/hello
至此,我们的接口就开发完成了。但是这个接口没有任何授权防护,任何人都可以访问,这
样是不安全的,下面我们开始加入授权机制。
三、增加用户注册功能
3.1、导入数据库所需依赖包
|