1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
-- Roles/Group functions
module (..., package.seeall)
auth = require("authenticator-plaintext")
roll = require("roles")
default_action = "read"
-- Return your own roles/permissions
read = function(self)
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 cfe({ type="group", value={permissions=self.model:getcont(self)} })
end
|