dp2SIPClient所需dp2library最小权限测试
开发说明
把 SIP2 功能 issue 里面的每个请求都测试验证一下,看看请求所需的 dp2library 账户的最小权限是什么,需要为相关界面增加一个快速定义和添加 SIP 账户权限的功能按钮。
一开始 dp2library 账户里面什么权限都不加。然后测试过程会遇到报错,说权限不够。然后加上提示的权限,验证一下操作是否正常了。这样就能发现到底是哪些权限起作用。注意不要有多余的权限,权限尽可能少,只要满足操作的最少权限即可

测试目录
一、登录区域 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
- 登录 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
所需权限:不需要权限
- 获取服务器状态 99/98
所需权限:不需要权限
- 获取图书信息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
- 获取读者信息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
- 借书 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
- 还书 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
- 续借 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
- 缴费 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
- 更新册信息 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
- 获取通道41/42 所需权限:不需要权限