diff --git a/src/share/redis.lua b/src/share/redis.lua index c208848..52c0ed9 100644 --- a/src/share/redis.lua +++ b/src/share/redis.lua @@ -59,8 +59,4 @@ function _M:ttl(key) return self.red:ttl(key) end -function _M:call(key, ...) - return self.red:call(key, ...) -end - return _M \ No newline at end of file diff --git a/src/test/test.lua b/src/test/test.lua index f071e17..78d9771 100644 --- a/src/test/test.lua +++ b/src/test/test.lua @@ -335,12 +335,12 @@ end local perm = require("util.permissionfilter") -local rest = perm.getRolePermissions("admin") +local rest = perm:getRolePermissions("admin") for _, row in pairs(rest) do print(row.key) end -perm.clearRolePermissions("admin") +perm:clearRolePermissions("admin") --读取用户表、角色表和权限表中配置的权限数据 local roleDao = require("dao.role") diff --git a/src/util/permissionfilter.lua b/src/util/permissionfilter.lua index beeb2a5..ef4a66a 100644 --- a/src/util/permissionfilter.lua +++ b/src/util/permissionfilter.lua @@ -59,7 +59,10 @@ function _M:getRolePermissions(role_name) local prefix = role_name.."-" local cursor = "0" local result = red:call('SCAN', cursor, 'MATCH', prefix .. '*', 'COUNT') - cursor = result[1] + if result == false then + return allPermissions + end + --cursor = result[1] for _, key in ipairs(result[2]) do table.insert(allPermissions, key) end @@ -70,7 +73,7 @@ end function _M:clearRolePermissions(role_name) --将redis中角色相关的键值去掉 local keys = red:call("KEYS", role_name.."-*") - if #keys > 0 then + if keys then red:call("DEL", unpack(keys)) end end