summaryrefslogtreecommitdiffstats
path: root/lib/roles.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lib/roles.lua')
-rw-r--r--lib/roles.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/roles.lua b/lib/roles.lua
index 808aa95..bdaf635 100644
--- a/lib/roles.lua
+++ b/lib/roles.lua
@@ -2,6 +2,7 @@
require ("posix")
+require ("fs")
require ("format")
module (..., package.seeall)
@@ -55,3 +56,26 @@ end
end
end
+get_roles_perm = function(self,roles)
+ --for now we are using the file static
+ --this will go through and search from the roles in sessionid to get the real
+ --permission list
+ local rolesfile = "/etc/acf/roles"
+ f = fs.read_file_as_array(rolesfile)
+ local temp = {}
+ for k,v in pairs(roles) do
+ for a,b in pairs(f) do
+ match = "^" .. v
+ c = string.match(b,match)
+ if c then
+ inval = string.match(b,"[,%w:]+$")
+ temp[#temp +1] = inval
+ end
+ end
+ end
+ temp1 = format.table_to_string(temp,",")
+ --we now can return the first level of roles perms. What if a role is a member of a role...
+
+ return temp1
+end
+