diff options
author | Steven Barth <steven@midlink.org> | 2008-09-05 14:28:36 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2008-09-05 14:28:36 +0000 |
commit | e2e1cf54974c5276ba8e874c2029857e8f97629a (patch) | |
tree | 91d07feebe18f033e5c13840b4770dd804e2de36 | |
parent | 406de828219acf4ea49e6396fdbc23784a44c1d4 (diff) |
Fixed some minor session handling issues
-rw-r--r-- | libs/web/luasrc/dispatcher.lua | 3 | ||||
-rw-r--r-- | libs/web/luasrc/sauth.lua | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/libs/web/luasrc/dispatcher.lua b/libs/web/luasrc/dispatcher.lua index 7692dd2262..296c7624dd 100644 --- a/libs/web/luasrc/dispatcher.lua +++ b/libs/web/luasrc/dispatcher.lua @@ -182,7 +182,7 @@ function dispatch(request) 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) @@ -197,6 +197,7 @@ function dispatch(request) if not sess then sauth.write(sid, user) end + ctx.authsession = sid end else luci.http.status(403, "Forbidden") diff --git a/libs/web/luasrc/sauth.lua b/libs/web/luasrc/sauth.lua index 0ac236753e..b724bf2d28 100644 --- a/libs/web/luasrc/sauth.lua +++ b/libs/web/luasrc/sauth.lua @@ -23,7 +23,7 @@ require("luci.config") 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() @@ -57,10 +57,10 @@ end -- @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 |