Postman怎么测试不同账号的接口权限_Postman多账号权限验证思路

云强姑娘_8839

云强姑娘_8839

2026-11-07

608人浏览

原创

Postman可通过环境变量隔离+Authorization动态引用+Pre-request自动续期实现多账号权限测试;需为每个账号配置独立环境变量(如auth_token)、在Authorization中使用{{auth_token}}、用脚本自动登录刷新token,并通过Tests断言状态码与响应体内容验证权限。

postman怎么测试不同账号的接口权限_postman多账号权限验证思路

Postman 本身不支持“多账号并发会话”,但可以通过环境变量 + 鉴权配置 + 请求脚本组合实现不同账号的权限验证,关键在于隔离每个账号的凭证、Token 和 Cookie,避免交叉污染。

用环境变量隔离不同账号的鉴权参数

每个账号对应一个独立环境(如 admin_env、user_env、guest_env),在环境里定义专属变量:

  • auth_token:存 JWT 或 Bearer Token 值,不同环境填不同账号获取到的 token
  • username/password:仅用于 Basic Auth 或登录接口请求体,不建议明文存密码,优先用 token
  • cookie_str:若接口依赖 Cookie(如 Web 端 Session),把抓包拿到的完整 Cookie: key1=val1; key2=val2 字符串存为变量,后续在 Headers 中直接引用 {{cookie_str}}

注意:pm.environment.get() 只能取当前激活环境的变量,切换环境即切换账号上下文,这是最轻量且可靠的隔离方式。

在 Authorization 标签里正确复用 token 变量

不要手动粘贴 token,否则无法随环境切换自动更新。正确做法是:

  • 在请求的 Authorization 标签中,Type 选 Bearer Token
  • Token 输入框填 {{auth_token}}(必须带双花括号)
  • 如果后端要求放在 headers 里(比如 X-Auth-Token),就删掉 Authorization 标签,改在 Headers 里加一行:X-Auth-Token → {{auth_token}}

常见错误:token 变量名拼错(如写成 {{auth_toekn}}),或环境未激活导致 {{auth_token}} 渲染为空 —— 此时请求头会变成 Authorization: Bearer ,后端通常返回 401 Unauthorized。

Postman 12.27.7
Postman 12.27.7

Postman 12.27.7 Windows x64 官方安装包,适用于 API 设计、调试、测试与协作。该系列包含 Enterprise 云端性能测试静态 IP 出口能力,以及接口规范标签管理改进,适合受限网络测试与规范资源组织场景。

下载

用 Pre-request Script 自动刷新 token(可选进阶)

当账号 token 有有效期且需频繁验证权限边界时,靠手动换 token 效率低。可在集合层级的 Pre-request Script 中加逻辑:

if (!pm.environment.get("auth_token") || pm.environment.get("token_expired")) {
    // 调用登录接口,提取新 token 并 set 到环境变量
    const loginRequest = {
        url: pm.environment.get("api_base") + "/login",
        method: 'POST',
        header: { 'Content-Type': 'application/json' },
        body: {
            mode: 'raw',
            raw: JSON.stringify({
                username: pm.environment.get("username"),
                password: pm.environment.get("password")
            })
        }
    };
    pm.sendRequest(loginRequest, function (err, res) {
        if (err) console.log(err);
        else {
            const jsonData = res.json();
            pm.environment.set("auth_token", jsonData.token);
            pm.environment.unset("token_expired");
        }
    });
}

这样每次发请求前自动检查并续期 token,但要注意:该脚本在网页版中受限于跨域和 CORS,若登录接口不在同域下,会失败;桌面版无此限制。

权限验证结果必须靠 Tests 断言显式判断

不能只看响应码是否为 200 —— 很多权限不足的场景后端返回 200 OK 但 body 里是错误提示或空数据。断言要覆盖三类典型响应:

  • HTTP 状态码:pm.response.code === 403(禁止访问)或 401(未认证)
  • 响应体内容:pm.expect(jsonData.message).to.include("insufficient permissions")
  • 关键字段缺失:pm.expect(jsonData).to.not.have.property("data") 或 pm.expect(jsonData.items).to.be.an('array').that.is.empty

真实项目里最容易被忽略的是「相同接口、不同账号返回结构不一致」—— 比如管理员能看到全量字段,普通用户字段被过滤,此时光比 status code 毫无意义,必须校验 body 内容是否符合权限预期。

相关专题

更多
软件测试常用工具
软件测试常用工具

软件测试常用工具有Selenium、JUnit、Appium、JMeter、LoadRunner、Postman、TestNG、LoadUI、SoapUI、Cucumber和Robot Framework等等。测试人员可以根据具体的测试需求和技术栈选择适合的工具,提高测试效率和准确性 。

2023.10.13

5090

8

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

20

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

20

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

20

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

20

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

20

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Postman Native Git工作流指南
Postman Native Git工作流指南

共0课时 | 0人学习

Postman Vault密钥管理指南
Postman Vault密钥管理指南

共0课时 | 0人学习

Postman集合运行器使用指南
Postman集合运行器使用指南

共0课时 | 0人学习