编辑: ACcyL | 2019-07-16 |
b)判断 r 是否分配了权限 p,如果已分配则把 p 的继承属性值赋给 rtn_pia,转到步聚 h),否则进入下一步;
c)把r压入队列 queue;
d)队列 queue 为空则转入步聚 h),否则进入下一步;
e)从队列中弹出一个值 ri ,搜索 ri 继承的所有低级角色中是否已 分配权限 p 的公有权限,如果有则设 rtn_pia = 公有权限 ,转至步骤 h),否则进入下一步;
f)把ri 的所有未分配权限 p 的低级角色压入队列 queue;
g)转至步骤 d);
h)清空队列 queue,返回 rtn_pia. 算法的思想是首先判断角色 r 是否已分配权限 p,如果已 分配,则返回其继承属性;
如果没有分配权限 p,则需要搜索 r 继承的所有低级角色,判读是否可以继承到权限 p. 在判断 r 是否可以继承到权限 p 的过程,借助队列存储预搜索的所有低 级角色........