执行Get auth token命令时,使用管理员与操作员获取到的token值是一致的

这里已经回答了。 当前实现是这样。

这里的sessionType是对外的channel_type么,如果是的话,也就是说sessionType为9的时候,内部表里面已经存在了一个无权限的token么,导致我这边无论用哪个权限获取到的token值都是这个无权限的么

上面的回复有笔误, 是ChannelType

  1. 是对外的channel_type。
  2. 内部在一开始存的是空表,有对应channel_type(只支持0和9)的token创建,才会存这个表。

当前获取token时,先判断token表中对应channel_Type是否已存在token,有就直接返回token;没有就根据ipmi传入的信息(role_id)创建token,并存到token表中。 这里我认为不合理呀,按照这里的描述,如果对应channel_Type存在token就直接返回,那用户想要多个权限的token怎么办呢,感觉可以把表再细化一下,channel_type下可以存放各级别token值,到时候用户想用哪个就返回哪个,如果没有再进行创建

嗯, 我们对比下V2的实现,如果不一致的话,再讨论一下如何处理。

好的,感谢,我在实际操作的时候,当channel_type为9的时候,获取到的token是无权限token,当channel_type为0的时候,获取到的token为操作员权限的token,并且日志中会打印”Get channel valid privilege failed, set role to operator“这句话

检查一下这个权限。 代码实现是根据这个来判断的。

@jiaoxinchao 已在着手修复。在发布的25.12版本上会带上修改。