## 前言 * BladeX目前已经支持基于Nacos的动态网关鉴权功能 * SpringBoot版本,仍然沿用之前版本的Secure模块鉴权 * cloud与boot版本两者鉴权可公用同一个配置 ## Cloud版鉴权放行配置 * 由于cloud版将鉴权放在了gateway,所以不再需要启用各个工程内secure模块的鉴权功能。 * secure模块的鉴权功能已经改成默认关闭状态 * 鉴权配置可以放在nacos,并且支持动态刷新 * 注:cloud版本的`blade-desk`这一类前缀,是网关转发的key,不是controller的地址,所以不需要加上。而boot版本为了保持和cloud接口地址一致,才会在controller顶层加上`blade-desk`这一类前缀 * 配置写法如下: ~~~yaml blade: secure: skip-url: - /test/** - /demo/** ~~~ * 网关鉴权逻辑代码位置如下: ![](../images/screenshot_1566144596102.png) ## Boot版鉴权放行配置 * boot版与cloud版公用同一个配置 * 注:cloud版本的`blade-desk`这一类前缀,是网关转发的key,不是controller的地址,所以不需要加上。而boot版本为了保持和cloud接口地址一致,才会在controller顶层加上`blade-desk`这一类前缀 * 配置写法如下: ~~~yaml blade: secure: skip-url: - /blade-desk/test/** - /blade-demo/demo/** ~~~ * 由于secure模块已经默认关闭,所以boot版需要进行开启 * 开启所在代码如下: ![](../images/screenshot_1566144671043.png) ## 后台获取当前用户 * 通过`AuthUtil.getUser()`来获取,用法如下: ![](../images/screenshot_1584618282296.png) * 实现逻辑如下: ![](../images/screenshot_1584618461924.png) * 通过参数注入`BladeUser`获取,用法如下: ![](../images/screenshot_1584618331554.png) * 实现逻辑如下: ![](../images/screenshot_1584618400044.png)