在 Http 客户端,新建一个目录,名字是测试,在这个目录里添加一个请求,名字是测试权限,请求方法设置成 POST,配置一下请求地址,一个基本地址,加上 check-user-access,配置一下请求主体,类型是 JSON,准备一个 JSON 数据,里面添加一个 resourceType,值是 PostEntity,再设置一个 resourceId ,对应值是一个内容的 id,比如 1 ,然后是 resourceUserId,它的值是这个资源作者的 id,比如 7 ,然后再添加一个 resourceStatus ,值是 draft ,最后添加一个 action,值可以设置成 read。
打开用户登录,用张三的身份登录一下,然后复制一下请求回来的令牌。回到测试权限请求,配置一下身份验证,类型是 Bearer Token,把令牌值粘贴到这里。
发送一下这个请求,得到的响应,这个 result 返回的值是 false,因为当前这个用户不是这个内容的作者,虽然他有阅读内容权限,但是内容的 status 字段的值不是 published,修改一下把 resourceStatus 改成 published ,再发送一下请求,这回 result 就是 true 了。
下面可以改一下 resourceUserId,改成当前用户的 id,在我这里应该就是 4 ,发送一下请求,result 是 true,再把 resourceStatus 改成其它的值。 发送一下请求,这回 result 也是 true,因为当前用户是这个内容的作者,内容作者对内容可以做任何事情,所以 result 就是 true。
管理员
打开用户登录,用管理员的身份登录一下,复制一下请求回来的令牌,复制一份测试权限这个请求,名字改成测试权限管理员,配置一下身份验证,把管理员的令牌粘贴到这里。
发送一下请求,result 会是 true,虽然当前用户不是内容的作者,但他是管理员,可以对任何资源做任何事情。
再打开测试权限,修改一下 action,值可以设置成 update,发送一下请求,result 是 true。下面可以修改一下这个内容作者的 id,再发送一下这个请求,这回 result 是 false,因为这个用户不再在这个内容的作者了,所以他就不能对这个资源做 update 这个动作。