local def = (type(track.sysauth) == "string") and track.sysauth
local accs = def and {track.sysauth} or track.sysauth
- local sess = luci.http.getcookie("sysauth")
+ local sess = ctx.authsession or luci.http.getcookie("sysauth")
sess = sess and sess:match("^[A-F0-9]+$")
local user = sauth.read(sess)
if not sess then
sauth.write(sid, user)
end
+ ctx.authsession = sid
end
else
luci.http.status(403, "Forbidden")
luci.config.sauth = luci.config.sauth or {}
sessionpath = luci.config.sauth.sessionpath
-sessiontime = tonumber(luci.config.sauth.sessiontime)
+sessiontime = tonumber(luci.config.sauth.sessiontime) or 15 * 60
--- Manually clean up expired sessions.
function clean()
-- @param id Session identifier
-- @return Session data
function read(id)
+ clean()
if not id or not sane(sessionpath .. "/" .. id) then
return
end
- clean()
return luci.fs.readfile(sessionpath .. "/" .. id)
end