diff options
author | Ted Trask <ttrask01@yahoo.com> | 2008-05-01 20:49:59 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2008-05-01 20:49:59 +0000 |
commit | fbda79f377ffbad71b38d2ddf273913dc95ab177 (patch) | |
tree | cac8faf1dc9d33aa5044140b32f0eba8d2cea3b2 /app/acf-util | |
parent | 21b0abee37316cd578a984c3de0ec878a8b41f72 (diff) | |
download | acf-core-fbda79f377ffbad71b38d2ddf273913dc95ab177.tar.bz2 acf-core-fbda79f377ffbad71b38d2ddf273913dc95ab177.tar.xz |
Modified roles, logon, and authenticator
git-svn-id: svn://svn.alpinelinux.org/acf/core/trunk@1095 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'app/acf-util')
-rw-r--r-- | app/acf-util/logon-html.lsp | 5 | ||||
-rw-r--r-- | app/acf-util/logon-model.lua | 3 | ||||
-rw-r--r-- | app/acf-util/roles-controller.lua | 33 | ||||
-rw-r--r-- | app/acf-util/roles-getlist-html.lsp | 13 | ||||
-rw-r--r-- | app/acf-util/roles-html.lsp | 38 | ||||
-rw-r--r-- | app/acf-util/roles-model.lua | 9 | ||||
-rw-r--r-- | app/acf-util/roles-read-html.lsp | 28 |
7 files changed, 76 insertions, 53 deletions
diff --git a/app/acf-util/logon-html.lsp b/app/acf-util/logon-html.lsp index f503a9b..c4d4bd3 100644 --- a/app/acf-util/logon-html.lsp +++ b/app/acf-util/logon-html.lsp @@ -4,11 +4,6 @@ io.write(html.cfe_unpack(form)) --]] ?> -<? if form.errtxt then ?> -<h1>Command Result</h1> -<p class='error'> <?= form.errtxt ?></p> -<? end ?> - <h1><?= form.label ?></h1> <? form.action = "logon" diff --git a/app/acf-util/logon-model.lua b/app/acf-util/logon-model.lua index 16e9f7f..8fa9e12 100644 --- a/app/acf-util/logon-model.lua +++ b/app/acf-util/logon-model.lua @@ -42,8 +42,7 @@ logon = function (self, clientdata, ip_addr, sessiondir, sessiondata) end if false == countevent and clientdata.userid and clientdata.password then - local password_user_md5 = fs.md5sum_string(clientdata.password) - if auth.authenticate (self, clientdata.userid, password_user_md5) then + if auth.authenticate (self, clientdata.userid, clientdata.password) then -- We have a successful login, change sessiondata -- for some reason, can't call this function or it skips rest of logon -- logout(sessiondir, sessiondata) diff --git a/app/acf-util/roles-controller.lua b/app/acf-util/roles-controller.lua index b868924..4363cb6 100644 --- a/app/acf-util/roles-controller.lua +++ b/app/acf-util/roles-controller.lua @@ -2,12 +2,41 @@ module (..., package.seeall) +auth = require("authenticator-plaintext") +roll = require("roles") + default_action = "read" +-- Return your own roles/permissions read = function(self) - return ( { userid = self.sessiondata.userinfo.userid, roles = self.sessiondata.userinfo.roles, permissions = self.sessiondata.permissions } ) + userid = cfe({ value=self.sessiondata.userinfo.userid, label="User Id" }) + roles = cfe({ type="list", value=self.sessiondata.userinfo.roles, label="Roles" }) + permissions = cfe({ type="table", value = self.sessiondata.permissions, label="Permissions" }) + return cfe({ type="group", value={userid=userid, roles=roles, permissions=permissions} }) +end + +-- Return roles/permissions for specified user +viewroles = function(self) + if not (self.clientdata.userid) then + redirect(self) + end + userid = cfe({ value=self.clientdata.userid, label="User Id" }) + roles = cfe({ type="list", value=auth.get_userinfo_roles(self, userid.value), label="Roles" }) + permissions = cfe({ type="table", value=roll.get_roles_perm(self.conf.appdir, roles.value), label="Permissions" }) + return cfe({ type="group", value={userid=userid, roles=roles, permissions=permissions} }) +end + +-- Return permissions for specified role +viewperms = function(self) + if not (self.clientdata.role) then + redirect(self, "getlist") + end + role = cfe({ value=self.clientdata.role, label="Role" }) + permissions = cfe({ type="table", value=roll.get_role_perm(self.conf.appdir, role.value), label="Permissions" }) + return cfe({ type="group", value={role=role, permissions=permissions} }) end +-- Return list of all permissions getlist = function(self) - return( { contlist = self.model:getcont(self)}) + return cfe({ type="group", value={permissions=self.model:getcont(self)} }) end diff --git a/app/acf-util/roles-getlist-html.lsp b/app/acf-util/roles-getlist-html.lsp deleted file mode 100644 index 25d8d62..0000000 --- a/app/acf-util/roles-getlist-html.lsp +++ /dev/null @@ -1,13 +0,0 @@ -<? local view= ... ?> -<? --[[ - io.write(html.cfe_unpack(view)) ---]] ?> - -<h1>Controller Status</h1> -<? ---[[ -for a,b in pairs(view.contlist) do - print("<b>",a,"</b>") - for k,v in pairs(b) do print(v) end - print("<br>") -end ---]] ?> diff --git a/app/acf-util/roles-html.lsp b/app/acf-util/roles-html.lsp new file mode 100644 index 0000000..4a23c25 --- /dev/null +++ b/app/acf-util/roles-html.lsp @@ -0,0 +1,38 @@ +<? local view= ... ?> +<? --[[ + io.write(html.cfe_unpack(view)) +--]] ?> + +<? ---[[ ?> +<? if view.value.userid then ?> + <H1>Roles/Permission list for <?= view.value.userid.value ?>:</H1> +<? elseif view.value.role then ?> + <H1>Permission list for <?= view.value.role.value ?>:</H1> +<? else ?> + <H1>Complete permission list:</H1> +<? end ?> + +<? if view.value.roles then ?> + <H2><?= view.value.userid.value ?> is valid in these roles</H2> + <? for a,b in pairs(view.value.roles.value) do + print("<li>",b,"</li>") + end ?> +<? end ?> +<? --]] ?> + +<? ---[[ ?> +<? if view.value.permissions then ?> + <? if view.value.userid then ?> + <H2><?= view.value.userid.value ?>'s full permissions are</H2> + <? elseif view.value.role then ?> + <H2><?= view.value.role.value ?>'s full permissions are</H2> + <? end ?> + <? for x,cont in pairs(view.value.permissions.value) do + print("<b>",x,"</b>") + for y,act in pairs(cont) do + print(y) + end + print("<br>") + end ?> +<? end ?> +<? --]] ?> diff --git a/app/acf-util/roles-model.lua b/app/acf-util/roles-model.lua index c3ce2c7..b6e95fd 100644 --- a/app/acf-util/roles-model.lua +++ b/app/acf-util/roles-model.lua @@ -9,9 +9,12 @@ getcont = function(self) controllers = roles.get_controllers(self) local table_m = {} for a,b in pairs(controllers) do - temp = roles.get_controllers_func(self,b) - table_m[b.sname] = temp + table_m[b.sname] = {} + temp = roles.get_controllers_func(self,b) + for x,y in ipairs(temp) do + table_m[b.sname][y] = {} + end end - return (table_m) + return cfe({ type="table", value=table_m, label="All permissions" }) end diff --git a/app/acf-util/roles-read-html.lsp b/app/acf-util/roles-read-html.lsp deleted file mode 100644 index ddda93a..0000000 --- a/app/acf-util/roles-read-html.lsp +++ /dev/null @@ -1,28 +0,0 @@ -<? local view= ... ?> -<? --[[ - io.write(html.cfe_unpack(view)) ---]] ?> - -<? ---[[ ?> -<H1>Roles/Permission list for <?= view.userid ?>:</H1> - -<? if view.roles then ?> - <H2>You are valid in these roles</H2> - <? for a,b in pairs(view.roles) do - print("<li>",b,"</li>") - end ?> -<? end ?> -<? --]] ?> - -<? ---[[ ?> -<? if view.permissions then ?> - <H2>Your full permissions are</H2> - <? for x,cont in pairs(view.permissions) do - print("<b>",x,"</b>") - for y,act in pairs(cont) do - print(y) - end - print("<br>") - end ?> -<? end ?> -<? --]] ?> |