修改配置文件,增加lua使用的共享内存例子,用于测试使用

This commit is contained in:
wanglei 2025-11-05 16:17:17 +08:00
parent 00436a10e9
commit f12c32db08
4 changed files with 45 additions and 18 deletions

View File

@ -25,19 +25,19 @@ http {
#lua_ssl_verify_depth 3;
#在Nginx启动时执行的Lua代码块
lua_shared_dict dict_a 1m;
init_by_lua_block {
-- 定义一个全局变量
ngx.log(ngx.INFO, "Initializing global variable")
global_var = "Hello, Nginx with Lua!"
-- 初始化一个共享字典(需要 lua-shared-dict 模块)
local shared_dict = ngx.shared.dict_a
shared_dict:set("key", "value")
}
#初始化用户角色权限相关的共享内存
lua_shared_dict dictRBAC 50m;
#init_by_lua_block {
# -- 定义一个全局变量
# ngx.log(ngx.INFO, "Initializing global variable")
# global_var = "Hello, Nginx with Lua!"
# -- 初始化一个共享字典(需要 lua-shared-dict 模块)
# local shared_dict = ngx.shared.dict_a
# shared_dict:set("key", "value")
#}
#init_by_lua_block init_by_lua_file 只能初始化其中的一个,不能同时启用
#否则报错nginx: [emerg] "init_by_lua_file" directive is duplicate
#init_by_lua_file '/home/frankly/work/AuthPlatform/src/init.lua';
init_by_lua_file '/home/frankly/work/AuthPlatform/src/init.lua';
server {
listen 9080;
@ -60,7 +60,7 @@ http {
location /testRBAC {
content_by_lua_file '${APP_PATH}/src/test/testRBAC.lua';
}
location /cjson {
location /test {
content_by_lua_file '${APP_PATH}/src/test/test.lua';
}
location = /testSM {

View File

@ -10,9 +10,14 @@
print("init application...")
--初始化获取系统默认的用户权限为实现RBAC框架做权限数据准备
cjson = require "cjson"
local dict_a = ngx.shared.dict_a
local v = dict_a:get("abc")
if not v then
dict_a:set("abc", 9)
end
local data = {
admin = {
"system:user:add", "system:user:edit", "system:user:delete", "system:user:view", "system:user:list"
},
guest = {
"system:user:view"
},
}
local dict = ngx.shared.dictRBAC
dict:set("users", data)

View File

@ -16,8 +16,15 @@ local cjson = require("cjson.safe")
--max =a and b or c--a?b:c
--[[
--调用c库相关例子
local mylib = require "addlib"
ngx.say(addlib.add(5,7))
--]]
local dict = ngx.shared.dictRBAC
local val = dict:get("users")
ngx.say(val)
--[[
local uuid = require("resty.jit-uuid")

View File

@ -75,4 +75,19 @@ function RBAC:get_user_permissions(user_id)
return user_permissions
end
-- 添加角色
--_, err = permit.AddPolicy(roleName, roleId, action)
-- 赋予用户角色
--_, err = permit.AddRoleForUser(user, roleName)
-- 查看具有某角色的所有用户
--res, err = permit.GetUsersForRole(roleName)
-- 移除用户具有的角色
--_, err = permit.DeleteRoleForUser(user, roleName)
-- 移除角色,跟角色相关联的用户都被移除
--_, err = permit.DeleteRole(roleName)
return RBAC