dp2 icon indicating copy to clipboard operation
dp2 copied to clipboard

dp2SIPClient所需dp2library最小权限测试

Open SZCND opened this issue 3 years ago • 2 comments

开发说明

把 SIP2 功能 issue 里面的每个请求都测试验证一下,看看请求所需的 dp2library 账户的最小权限是什么,需要为相关界面增加一个快速定义和添加 SIP 账户权限的功能按钮。

一开始 dp2library 账户里面什么权限都不加。然后测试过程会遇到报错,说权限不够。然后加上提示的权限,验证一下操作是否正常了。这样就能发现到底是哪些权限起作用。注意不要有多余的权限,权限尽可能少,只要满足操作的最少权限即可

QQ图片20220530100402

SZCND avatar May 23 '22 05:05 SZCND

测试目录

一、登录区域 1.登录 93/94 2.获取服务器状态98/99

二、基础操作区域 1.获取图书信息 17/18 2.获取读者信息 63/64 3.借书 11/12 4.续借29/30 5.还书09/10 6.交费37/38 7.获取通道41/42

三、更新册信息区域 1.永久馆藏地、当前馆藏地、永久架位、当前架位、状态29/30

SZCND avatar May 23 '22 06:05 SZCND

  1. 登录 93/94
2022-05-22 10:26:58  send:93  CNzizhu2@fghj|CO1|CP
2022-05-22 10:26:58  recv:940AFget institution code of '/' error: 获得系统参数的操作被拒绝。不具备 order 或 getsystemparameter 权限。|AY4AZ02E6

所需权限:不需要权限


  1. 获取服务器状态 99/98

所需权限:不需要权限


  1. 获取图书信息17/18
2022-05-22 10:29:02  send:1720220522    102902AO|ABZ100001|AC
2022-05-22 10:29:02  recv:1801000120220522    102902AB|AJ|CK001|AF获得册记录 Z100001 时发生错误: 用户 'zizhu2' 获取实体信息被拒绝。不具备order、getiteminfo或getentities权限。|AG获得册记录 Z100001 时发生错误: 用户 'zizhu2' 获取实体信息被拒绝。不具备order、getiteminfo或getentities权限。|AY4AZ3C1A

所需权限:getiteminfo 或 getentities


  1. 获取读者信息63/64
2022-05-22 10:38:38  send:6301920220522    103837  Y       AO|AAPZX001|BP1|BQ5
2022-05-22 10:38:38  recv:64              01920220522    103838000000000000000000000000AO|AA|AE|BLN|CQN|AF查询读者('PZX001')信息出错:读取读者信息被拒绝。不具备 getreaderinfo 权限。|AG查询读者('PZX001')信息出错:读取读者信息被拒绝。不具备 getreaderinfo 权限。|AY4AZF8C5

所需权限:getreaderinfo


  1. 借书 11/12
2022-05-22 10:44:11  send:11YN20220522    104410                  AO|AAPZX001|ABZ100001|AC|AD|BON|BIN2022-05-22 10:44:11  recv:120NNY20220522    104411AO|AAPZX001|ABZ100001|AJ|AH|AF失败:借阅操作被拒绝。不具备 borrow 权限。|AY4AZAF7F

所需权限:borrow


  1. 还书 09/10
2022-05-22 10:48:09  send:09N20220522    10480920220522    104809AP|AO|ABZ100001|AC|BIN
2022-05-22 10:48:09  recv:100YNN20220522    104809AO|ABZ100001|AQ|AJ|CLsort bin|AF还书操作被拒绝。不具备 return 权限。|AY4AZ9B23

所需权限:return


  1. 续借 29/30
2022-05-22 10:54:28  send:29NN20220522    105428                  AO|AAPZX001|AD|ABZ100001|BON
2022-05-22 10:54:28  recv:300NNN20220522    105428AO|AAPZX001|ABZ100001|AJ|AH|AF失败:续借操作被拒绝。不具备 renew 权限。 在 zh-CN 中没有找到对应的资源。|AY4AZ3A7F

所需权限:renew


  1. 缴费 37/38(所需权限:amerce,amercemodifyprice)
2022-05-22 11:13:05  send:3720220522    1113050100CNYBV10|AO|AAPZX001|AD
2022-05-22 11:13:05  recv:38N20220522    111305AO|AA|BK|AF失败:交违约金操作被拒绝。不具备 amerce 权限。|AG|AY4AZABB5

配置上 amerce提示

2022-05-22 11:14:13  send:3720220522    1114130100CNYBV10|AO|AAPZX001|AD
2022-05-22 11:14:13  recv:38N20220522    111413AO|AA|BK|AF失败:含有价格变更要求的交违约金操作被拒绝。不具备 amercemodifyprice 权限。(仅仅具备 amerce 权限还不够的)|AG|AY4AZ177F

所需权限:getreaderinfo,amerce


  1. 更新册信息 19/20 在sipclient更新册信息区域,当前架位中输入了“流通库”右侧返回的内容提示
2022-05-23 20:35:00  send:1920220523    203500AO|ABB001|AC|CH|KP0102
2022-05-23 20:35:00  recv:20020220523    203500ABB001|AJ剪面包的男孩2|AF当前位置字段(currentLocation)中的馆藏地 '*' 不合法: 馆代码 '' 没有定义馆藏地点 '*'(根据 <locationTypes> 定义)|AG当前位置字段(currentLocation)中的馆藏地 '*' 不合法: 馆代码 '' 没有定义馆藏地点 '*'(根据 <locationTypes> 定义)|AY4AZBCA1

原因是在dp2library中册记录的currentLocation是当前馆藏地+当前架位组合而成的,两者是结合起来的,不能单独分开。 location=永久馆藏地(<location>阅览室</location>) shelfNo=永久架位(<shelfNo>阅览室</shelfNo>) currentLocation=当前馆藏地+当前架位(<currentLocation>阅览室:0102</currentLocation>)

期望在currentLocation中没有当前馆藏地,只有一个当前架位应该表现为<currentLocation>:流通库</currentLocation> 前提是这册记录中原本就没有currentLocation

而原有 <currentLocation>海点分馆:流通库</currentLocation> 现在只输入当前架位“流通库”,预期不会发生变化,还是<currentLocation>海点分馆:流通库</currentLocation>

2022-05-22 11:26:49  send:1920220522    112649AO|ABZ100001|AC|CH|AQ阅览室
2022-05-22 11:26:49  recv:20020220522    112649ABZ100001|AJ测试题名1|AF调拨 操作被拒绝。不具备 setentities (或 setiteminfo)权限。|AG调拨 操作被拒绝。不具备 setentities (或 setiteminfo)权限。|AY4AZ7187

所需权限:getiteminfo,setiteminfo 或 getiteminfo,setentities


  1. 获取通道41/42 所需权限:不需要权限

SZCND avatar May 23 '22 07:05 SZCND