lor提供了一个内置的session插件,它基于lua-resty-session来实现session管理。

注意:

lor提供的默认session的使用方式如下:

local lor = require("lor.index")
local app = lor()
-- 加载session插件
local session_middleware = require("lor.lib.middleware.session")
app:use(session_middleware({
secret = "G3fu98Kor0rJrembv67fnhgl95FioRpQ", -- 加密用的盐
timeout = 3600 -- session超时时间,默认为3600秒
}))
-- 模拟session的使用
-- 加载session插件后,`session`对象被注入到了`req`对象里
-- 在session里赋值
app:get("/session/set", function(req, res, next)
local k = req.query.k
local v = req.query.v
if k then
req.session.set(k,v)
res:send("session saved: " .. k .. "->" .. v)
else
res:send("null session key")
end
end)
-- 从session里取值
app:get("/session/get/:key", function(req, res, next)
local k = req.params.key
if not k then
res:send("please input session key")
else
res:send("session data: " .. req.session.get(k))
end
end)
-- 销毁session
app:get("/session/destroy", function(req, res, next)
req.session.destroy()
end)
app:run()