增加初始化进行角色权限增加到redis功能

This commit is contained in:
wanglei 2025-11-08 00:01:43 +08:00
parent e93bbcf259
commit 0308965255
3 changed files with 43 additions and 58 deletions

View File

@ -31,6 +31,11 @@ local function isExistRole(id)
end
-- 查询数据表中的所有角色信息
function _M.getAllSystemRoles()
return roleModel:all()
end
-- 根据页码和数量查询数据表中的角色信息
function _M.getSystemRoles(pageNum, pageSize)
return roleModel:paginate(pageNum, pageSize)
end
@ -97,7 +102,7 @@ function _M:getPermission2roleId(role_id, status)
if status ~= nil then
sql = sql.." AND \"A\".status='"..status.."'"
end
return roleModel.exec(sql)
return roleModel:exec(sql)
end
return _M

View File

@ -24,21 +24,7 @@ end
--初始化获取系统默认的用户权限为实现RBAC框架做权限数据准备
local function handler()
--读取用户表、角色表和权限表中配置的权限数据
local roleDao = require("dao.role")
--获取数据表中的记录数
local code, res = roleDao:all()
if res == nil then return end
ngx.log(ngx.INFO, "user count:"..res)
--读取角色id和角色名称
for _, row in pairs(res) do
for key, value in pairs(row) do
ngx.say(key .. ":" .. tostring(value))
end
end
--“admin-system::users::edit“ ”1“
--将取到的数据存储到redis中后续进行验证使用
--与redis进行连接
local redis = require("resty.redis")
local red = redis:new()
-- 设置超时时间
@ -62,39 +48,28 @@ local function handler()
-- 从连接池中获取连接
--red:set_keepalive(SYSTEM_CONFIG.REDIS.POOL_MAX_IDLE_TIME, SYSTEM_CONFIG.REDIS.POOL_SIZE)
-- 设置 key-value
local ok, err = red:set("admin-system:user:add", "1")
if not ok then
ngx.log(ngx.ERR, "redis failed to set key: "..err)
return
--读取用户表、角色表和权限表中配置的权限数据
local roleDao = require("dao.role")
--获取数据表中的记录数
local code, res = roleDao:getAllSystemRoles()
if res == nil then return end
--读取角色id和角色名称
for _, row in pairs(res) do
local id = row.id --:1
local name = row.role_name --:admin
--row.status:0,
local code, rest = roleDao:getPermission2roleId(id)
for _, ret in pairs(rest) do
--将数据存储到redis中
local permid = ret.permission_id
local perm = ret.permission_code
local key = name.."-"..perm
local ok, err = red:set(key, "1")
if not ok then
ngx.log(ngx.ERR, "redis failed to set key: "..err)
end
end
end
local ok, err = red:set("admin-system:user:edit", "1")
if not ok then
ngx.log(ngx.ERR, "failed to set key: "..err)
return
end
local ok, err = red:set("admin-system:user:delete", "1")
if not ok then
ngx.log(ngx.ERR, "failed to set key: "..err)
return
end
local ok, err = red:set("admin-system:user:view", "1")
if not ok then
ngx.log(ngx.ERR, "failed to set key: "..err)
return
end
local ok, err = red:set("admin-system:user:list", "1")
if not ok then
ngx.log(ngx.ERR, "failed to set key: "..err)
return
end
ngx.log(ngx.INFO, "set key successfully")
--关闭redis连接
red:close()

View File

@ -334,16 +334,21 @@ end
--]]
local userModel = require("dao.user")
local code, res = userModel:userRole("1")
--显示查询到的数据记录
if res ~= nil then
print("id value: -- ", res[1].id)
for _, row in pairs(res) do
for key, value in pairs(row) do
ngx.say(key .. ":" .. tostring(value))
end
end
--读取用户表、角色表和权限表中配置的权限数据
local roleDao = require("dao.role")
--获取数据表中的记录数
local code, res = roleDao:getAllSystemRoles()
if res == nil then return end
--读取角色id和角色名称
for _, row in pairs(res) do
--row.id:1
--row.create_by:admin
--row.create_time:
--row.role_name:admin
--row.status:0,
--row.remark:超级管理员
--row.role_key:超级管理员
print(row.id..row.create_by..row.role_name)
end
--[[