说明
在微服务架构体系中,
认证服务
通常独立于业务服务
;也就是说,我们在测试的时候需要至少启动nacos
和jeebiz-cloud-authz
两个公共服务;然后启动业务服务;分别访问各自的Swagger文档,在
jeebiz-cloud-authz
服务中访问登录接口获取token,然后在业务服务中设置全局认证参数,进而测试自己的接口;以上方式总是需要在两个界面来回切换,这里建议启动网关服务
jeebiz-cloud-gateway
,我们可以同时在网关服务这里的Swagger文档界面完成登录操作,获取token;设置全局认证参数后,
如何操作 ?
1、启动网关服务 jeebiz-cloud-gateway
由 GatewayNacosApplication
入口启动,然后访问:http://localhost:8080/doc.html (访问地址由配置决定)
2、在 jeebiz-cloud-authz
服务中访问登录接口获取token
- 步骤1:选择
smartedu-authz
服务 - 步骤2:展开
权限管理-用户登录
接口,点击账户密码登录
- 步骤3:点击
调试
,则进入接口调试界面,在该界面可填写接口需要的参数 - 步骤4:填写账户密码,点击
发送
,则会看到认证结果,如果账户密码正确,则会返回token
响应内容说明:
{
"msg":"认证成功",
"code":"0", // 逻辑标记
"initial":false, // 是否首次登陆
"alias":"超级管理员", // 账户名,教师角色即教师名称,学生类型即学生名称
"perms":[{"authority":"*"},{"authority":"ROLE_1"}], // 权限标记,与前端组件进行对应实现功能控制
"usercode":"201909171", // 用户编码:教师角色即教工号,学生类型即学号
"userid":"1", // 用户表ID
"userkey":"973628b4537962ac6f2cacbf9403397b", // 账户ID:教师角色即教工表ID,学生类型即学生表ID
"token":"", // jwt授权
"username":"admin" // 用户名
}
3、设置全局认证参数
首先拷贝上一步操作获取的token
点击 Authorize
菜单,完成全局认证参数设置
- 步骤1:点击
Authorize
菜单 - 步骤2:在
X-Authorization
参数值输入框,输入刚才复制的token - 步骤3:点击
保存
,操作完成
4、业务接口调试
此处以角色信息详情查询为例:
点击调试
,进入调试界面;这里会有个 X-Authorization
参数,因为已经全局设置过,这里可以取消选择
输入错角色ID,则会返回异常提示
输入正确角色ID,则返回角色信息
如果把全局鉴权信息注销掉,请求接口会返回鉴权信息缺失提示
作者:Jeebiz 创建时间:2019-07-14 00:04
更新时间:2023-12-20 16:58
更新时间:2023-12-20 16:58