luci-base: allow themes to provide sysauth.htm

Support for sysauth_template was (inadvertently) dropped in refactorings
to support the json menu construction.  This does not restore that
functionality, which allowed different templates for every node in the
dispatcher tree, but provides an alternative mechanism that allows a
theme to provide a sysauth.htm template file instead.

Tested-by: Karl Palsson <karlp@etactica.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Karl Palsson 2020-06-30 15:40:52 +00:00 committed by Jo-Philipp Wich
parent 1f89ee8ed0
commit 8f9433127e

View file

@ -884,7 +884,12 @@ function dispatch(request)
http.status(403, "Forbidden")
http.header("X-LuCI-Login-Required", "yes")
return tpl.render("sysauth", { duser = "root", fuser = user })
local scope = { duser = "root", fuser = user }
local ok, res = util.copcall(tpl.render_string, [[<% include("themes/" .. theme .. "/sysauth") %>]], scope)
if ok then
return res
end
return tpl.render("sysauth", scope)
end
http.header("Set-Cookie", 'sysauth=%s; path=%s; SameSite=Strict; HttpOnly%s' %{