Spring cloud gateway+JWT+服务间鉴权实战

一代码位置

15-1

二流程

三 测试

1启动 eureka-service

2启动gateway

3启动client-service

4启动provider-service

5测试设计

代码中写死了3个用户:admin(具有client-service和provider-service访问权限),spring(具有client-service访问权限),cloud(无任何权限)

6用一个不存在的用户abc进行测试

6.1获取token:postman调用: localhost:9001/getToken/abc

token如下:

Bearer eyJhbGciOiJIUzUxMiJ9.eyJpZCI6ODMzMDI5MTgxLCJ1c2VyIjoiYWJjIn0.-5o9G5fR3knrjq-xTYhZdKPLztJpnTyP7WwSzWsEUYn5rURGuBjvz8qzdD97FGXjt70NRNO1a3_ipFIL8-pvfg

6.2访问client-service的 /test

7用cloud用户进行测试

7.1获取token:postman调用: localhost:9001/getToken/cloud

token如下

Bearer eyJhbGciOiJIUzUxMiJ9.eyJpZCI6LTg2NzQwMDY5MSwidXNlciI6ImNsb3VkIn0.IX0JJCiL1oODrfE_W4uA1scdYq7zWWDTp3sJlr-_KlOKl0BKe3N8n6ARdELeDXoKyXjXJVUZhTYSr0nZ1bSHOQ

7.2访问client-service的 /test

8 用spring用户进行测试

8.1获取token:postman调用: localhost:9001/getToken/spring

token如下

Bearer eyJhbGciOiJIUzUxMiJ9.eyJpZCI6LTIwNjgzMjM5MiwidXNlciI6InNwcmluZyJ9.LRWHzPvprHMDfpg3BZTeM9lGwjZb-Mvd-wTSHiUbRZCDwrM_YMj7ln_OK4ZX0Bs6y7E4bJeE3KBraMG8ZAAttg

8.2访问client-service的 /test

8.3 访问client-service的 / accessProvider

9用admin用户进行测试

9.1获取token:postman调用: localhost:9001/getToken/admin

token如下

Bearer eyJhbGciOiJIUzUxMiJ9.eyJpZCI6NzE1Njg3MDU0LCJ1c2VyIjoiYWRtaW4ifQ.lQ4gO-MGbg3OV-8uW9FXcOK7iX4VoxOflMPRg1FTxQywe17lv_RWlLl73_G8GiEkDsSBrjCUk5ItaWM6410Dnw

9.2访问 client-service的 / accessProvider

权限通过。

经验分享 程序员 微信小程序 职场和发展