修改配置文件,增加lua使用的共享内存例子,用于测试使用
This commit is contained in:
parent
00436a10e9
commit
f12c32db08
|
|
@ -25,19 +25,19 @@ http {
|
||||||
#lua_ssl_verify_depth 3;
|
#lua_ssl_verify_depth 3;
|
||||||
|
|
||||||
#在Nginx启动时执行的Lua代码块
|
#在Nginx启动时执行的Lua代码块
|
||||||
lua_shared_dict dict_a 1m;
|
#初始化用户角色权限相关的共享内存
|
||||||
init_by_lua_block {
|
lua_shared_dict dictRBAC 50m;
|
||||||
-- 定义一个全局变量
|
#init_by_lua_block {
|
||||||
ngx.log(ngx.INFO, "Initializing global variable")
|
# -- 定义一个全局变量
|
||||||
global_var = "Hello, Nginx with Lua!"
|
# ngx.log(ngx.INFO, "Initializing global variable")
|
||||||
|
# global_var = "Hello, Nginx with Lua!"
|
||||||
-- 初始化一个共享字典(需要 lua-shared-dict 模块)
|
# -- 初始化一个共享字典(需要 lua-shared-dict 模块)
|
||||||
local shared_dict = ngx.shared.dict_a
|
# local shared_dict = ngx.shared.dict_a
|
||||||
shared_dict:set("key", "value")
|
# shared_dict:set("key", "value")
|
||||||
}
|
#}
|
||||||
#init_by_lua_block 与 init_by_lua_file 只能初始化其中的一个,不能同时启用
|
#init_by_lua_block 与 init_by_lua_file 只能初始化其中的一个,不能同时启用
|
||||||
#否则报错nginx: [emerg] "init_by_lua_file" directive is duplicate
|
#否则报错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 {
|
server {
|
||||||
listen 9080;
|
listen 9080;
|
||||||
|
|
@ -60,7 +60,7 @@ http {
|
||||||
location /testRBAC {
|
location /testRBAC {
|
||||||
content_by_lua_file '${APP_PATH}/src/test/testRBAC.lua';
|
content_by_lua_file '${APP_PATH}/src/test/testRBAC.lua';
|
||||||
}
|
}
|
||||||
location /cjson {
|
location /test {
|
||||||
content_by_lua_file '${APP_PATH}/src/test/test.lua';
|
content_by_lua_file '${APP_PATH}/src/test/test.lua';
|
||||||
}
|
}
|
||||||
location = /testSM {
|
location = /testSM {
|
||||||
|
|
|
||||||
17
src/init.lua
17
src/init.lua
|
|
@ -10,9 +10,14 @@
|
||||||
|
|
||||||
print("init application...")
|
print("init application...")
|
||||||
--初始化,获取系统默认的用户权限,为实现RBAC框架做权限数据准备
|
--初始化,获取系统默认的用户权限,为实现RBAC框架做权限数据准备
|
||||||
cjson = require "cjson"
|
local data = {
|
||||||
local dict_a = ngx.shared.dict_a
|
admin = {
|
||||||
local v = dict_a:get("abc")
|
"system:user:add", "system:user:edit", "system:user:delete", "system:user:view", "system:user:list"
|
||||||
if not v then
|
},
|
||||||
dict_a:set("abc", 9)
|
guest = {
|
||||||
end
|
"system:user:view"
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
local dict = ngx.shared.dictRBAC
|
||||||
|
dict:set("users", data)
|
||||||
|
|
@ -16,8 +16,15 @@ local cjson = require("cjson.safe")
|
||||||
|
|
||||||
--max =a and b or c--a?b:c
|
--max =a and b or c--a?b:c
|
||||||
|
|
||||||
|
--[[
|
||||||
|
--调用c库相关例子
|
||||||
local mylib = require "addlib"
|
local mylib = require "addlib"
|
||||||
ngx.say(addlib.add(5,7))
|
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")
|
local uuid = require("resty.jit-uuid")
|
||||||
|
|
|
||||||
|
|
@ -75,4 +75,19 @@ function RBAC:get_user_permissions(user_id)
|
||||||
return user_permissions
|
return user_permissions
|
||||||
end
|
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
|
return RBAC
|
||||||
Loading…
Reference in New Issue
Block a user