基础名词概念
**权限:**属于系统的安全范畴,权限管理
实现对用户访问系统的控制,按照安全规则或者安全控制策略用户可以访问而且只能访问自己被授权的资源,主要包括用户身份
认证和请求
鉴权两部分,简称
认证鉴权
认证判断一个用户是否为合法用户的处理过程,最常用的简单身份
认证是系统通过核对用户输入的用户名和口令,看其是否与系统中存储的该用户的用户名和口令一致,来判断用户身份是否正确
鉴权:即访问控制,控制谁能访问那些资源;进行身份
认证后需要分配权限可访问的系统资源,对于某些资源没有权限是无法访问的,如下图所示
一、JWT 实现微服务鉴权
JWT一般用于实现单点登录。单点登录:如腾讯下的游戏有很多,包括lol,飞车等,在qq游戏对战平台上登录一次,然后这些不同的平台都可以直接登陆进去了,这就是单点登录的使用场景。JWT就是实现单点登录的一种技术,其他的还有oath2等。
1 什么是微服务鉴权
我们之前已经搭建过了网关,使用网关在网关系统中比较适合进行权限校验。
那么我们可以采用JWT的方式来实现鉴权校验。
2.代码实现
1. 用户进入网关开始登陆,网关过滤器进行判断,如果是登录,则路由到后台管理微服务
查看当前依赖最新版本
了解更多过关于更多信息;
路由
网关:基于
spring cloud gateway,进行api请求的转发,当前会路由到leafage-basic模块的两个后台服务,资产和管理程序;
安全保护:整合
spring security,
实现了表单登录的功能,因为前一次分离分离,所以对登录的基本配置进行了一些修改,本项目中没有使用通常其他项目中使用的jwt来做,原因有:
前端都是基于浏览器访问,可以使用cookie,并且
实现了csrf防御,并且基于nginx和
gateway双重请求的保护规则,安全可靠,且简单实用;
jwt这个东西太重了,而且很不安全,因为安全原因,不会将用户用户名之外的任何信息放进
token,所以单单为了username这个而在请求中每
VMware的