修改配置文件,增加lua使用的共享内存例子,用于测试使用
This commit is contained in:
parent
00436a10e9
commit
f12c32db08
|
|
@ -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 {
|
||||
|
|
|
|||
17
src/init.lua
17
src/init.lua
|
|
@ -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)
|
||||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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
|
||||
Loading…
Reference in New Issue
Block a user