diff options
-rw-r--r-- | tinydns-model.lua | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/tinydns-model.lua b/tinydns-model.lua index bb8eaf8..8c6faaa 100644 --- a/tinydns-model.lua +++ b/tinydns-model.lua @@ -110,10 +110,10 @@ local function getallowedlist(self, userid) for x in string.gmatch(entry, "([^,]+),?") do allowedlist[#allowedlist + 1] = x end -- also check to see if there are allowed files for this user's roles - local rols = authenticator.get_userinfo_roles(self, userid) + local userinfo = authenticator.get_userinfo(self, userid) -- add in the guest role - rols.value[#rols.value + 1] = roles.guest_role - for i,role in ipairs(rols.value) do + userinfo.roles[#userinfo.roles + 1] = roles.guest_role + for i,role in ipairs(userinfo.roles) do local entry = authenticator.auth.read_entry(self, authenticator.roletable, self.conf.prefix..self.conf.controller, role) or "" for x in string.gmatch(entry, "([^,]+),?") do allowedlist[#allowedlist + 1] = x end end @@ -351,15 +351,11 @@ function getpermissionslist(self) end local function validateuserpermissions(self, userpermissions) - local success = false - userpermissions.value.userid.errtxt = "Invalid user" - local users = authenticator.list_users(self) - for i,user in ipairs(users) do - if userpermissions.value.userid.value == user then - userpermissions.value.userid.errtxt = nil - success = true - break - end + local success = true + local userinfo = authenticator.get_userinfo(self, userpermissions.value.userid.value) + if not userinfo then + userpermissions.value.userid.errtxt = "Invalid user" + success = false end success = modelfunctions.validatemulti(userpermissions.value.allowed) and success return success, userpermissions |