说明

  • 在微服务架构体系中,认证服务通常独立于业务服务;也就是说,我们在测试的时候需要至少启动 nacosjeebiz-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