hyperf-casbin icon indicating copy to clipboard operation
hyperf-casbin copied to clipboard

wathcer不管用如何解决

Open nyjah opened this issue 2 years ago • 2 comments

先执行 Enforcer::addPermissionForUser 再执行Enforcer::deletePermissionForUser删除同样的权限,但是再次调用添加权限方法失败,追代码追到 InternalEnforcer类中addPolicyInternal方法中的$this->model->hasPolicy($sec, $ptype, $rule)判断返回true,前面删除了权限这里应该返回false啊,所以设置了watcher为true也没用,但是在hyperf启动命令行中看到执行deletePermissionForUser方法,有Event Donjan\Casbin\Event\PolicyChanged handled by Donjan\Casbin\Listener\OnPolicyChangedListener listener.策略更新监听触发了。但是hasPolicy方法和getPermissionsForUser方法得出来的结果还是未更新前的。所以请问这个watcher在常驻进程中没有效果

nyjah avatar Jul 20 '22 03:07 nyjah

@donjan-deng

hsluoyz avatar Jul 20 '22 13:07 hsluoyz

贴出你addPermissionForUser,deletePermissionForUser代码,还有model,你调用API的参数要和model相匹配

donjan-deng avatar Jul 22 '22 01:07 donjan-deng