shiro AuthorizingRealm的isPermitted的permission参数从何处拿到的

shiro AuthorizingRealm的isPermitted的permission参数从何处拿到的

因为我数据库里面的数据是进口入库,导致每次那个 permission和这个进口入库都是一字之差从而对应不上,我debug调试半天,也不清楚这个permission参数是从何处赋值过来的,有没有朋友能够解答的嘛?虚心求学

img

以下回答参考GPT并且由Bony-整理:
isPermitted() 方法的 permission 参数是根据调用方传递的参数进行设置的,通常是在调用 Subject 对象的 isPermitted() 方法时传递进去的。

Shiro 中,Subject 对象代表当前用户,可以通过 SecurityUtils.getSubject() 方法获取。例如,以下代码片段演示了如何在 Subject 对象中使用 isPermitted() 方法:

Subject currentUser = SecurityUtils.getSubject();
if (currentUser.isPermitted("document:read:123")) {
    // 用户具有读取文档编号为 123 的权限
} else {
    // 用户没有该权限
}

在上述代码中,isPermitted() 方法的参数为 "document:read:123",表示检查当前用户是否具有读取文档编号为 123 的权限。这个参数可以根据实际情况进行修改。

如果您的数据库中存储的权限信息与代码中的权限字符串不匹配,您需要修改代码中的权限字符串,或者修改数据库中的权限信息,以使它们匹配。