summaryrefslogtreecommitdiffstats
path: root/app/acf-util/password-model.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2008-07-22 19:58:39 +0000
committerTed Trask <ttrask01@yahoo.com>2008-07-22 19:58:39 +0000
commit8cfe28d0691856222685b93f4a58664416a0aa65 (patch)
treebdc57542af8a67aefbd4b587b6aa9d5483ca3e55 /app/acf-util/password-model.lua
parenta1ad49891bbeea6c4c5cf77a574d219c9a722eab (diff)
downloadacf-core-8cfe28d0691856222685b93f4a58664416a0aa65.tar.bz2
acf-core-8cfe28d0691856222685b93f4a58664416a0aa65.tar.xz
Split common code out of authenticator-plaintext into authenticator.lua in preparation for adding SQL authentication. Rewrote authentication functions to use cfe's. Made corresponding changes to roles and logon. Added dnsfiles field to userdata for tinydns access control.
git-svn-id: svn://svn.alpinelinux.org/acf/core/trunk@1314 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'app/acf-util/password-model.lua')
-rwxr-xr-xapp/acf-util/password-model.lua112
1 files changed, 10 insertions, 102 deletions
diff --git a/app/acf-util/password-model.lua b/app/acf-util/password-model.lua
index 1e78e5d..87c2e6f 100755
--- a/app/acf-util/password-model.lua
+++ b/app/acf-util/password-model.lua
@@ -1,125 +1,33 @@
module(..., package.seeall)
-local auth=require("authenticator-plaintext")
+require("authenticator")
function create_user(self, userdata)
- return update_user(self, userdata, true)
+ return authenticator.new_settings(self, userdata)
end
function read_user(self, user)
- local config = {}
- local errtxt
-
- -- Read the user data
- local userinfo
- if user and (#user > 0) then
- userinfo = auth.get_userinfo(self,user)
- if not userinfo then
- errtxt = "User does not exist"
- end
- end
- userinfo = userinfo or {}
-
- config.userid = cfe({
- label="User id",
- value=(userinfo.userid or user or ""),
- errtxt = errtxt
- })
- config.username = cfe({
- label="Real name",
- value=(userinfo.username or ""),
- })
- config.roles = cfe({
- label="Roles",
- value=(userinfo.roles or {}),
- type="multi",
- option=auth.list_roles(),
- })
- config.password = cfe({
- label="Password",
- })
- config.password_confirm = cfe({
- label="Password (confirm)",
- })
-
- return cfe({ type="group", value=config, errtxt = errtxt, label="User Config" })
+ return authenticator.get_userinfo(self, user)
end
-function update_user(self, userdata, newuser)
- local result
- local errormessage = {}
-
- -- Try to write new or update existing data
- if newuser == true then
- result, errormessage = auth.new_settings(self, userdata.value.userid.value, userdata.value.username.value, userdata.value.password.value, userdata.value.password_confirm.value, userdata.value.roles.value)
- if result == false then
- userdata.errtxt = "Failed to create new user"
- end
- else
- -- As a special case, settings that don't change are nil
- result, errormessage = auth.change_settings(self, userdata.value.userid.value, userdata.value.username.value, userdata.value.password.value, userdata.value.password_confirm.value, userdata.value.roles.value)
- if result == false then
- userdata.errtxt = "Failed to save changes"
- end
- -- We can't return any nil values, so set then
- local olduserdata = read_user(self, userdata.value.userid.value)
- for name,value in pairs(userdata.value) do
- if value.value == nil then
- value.value = olduserdata.value[name].value
- end
- end
- end
-
- userdata.value.password.value = ""
- userdata.value.password_confirm.value = ""
-
- if result == false then
- -- now, copy in the errors
- for name,value in pairs(userdata.value) do
- value.errtxt = errormessage[name]
- end
- end
-
- return userdata
+function update_user(self, userdata)
+ return authenticator.change_settings(self, userdata)
end
function get_users(self)
--List all users and their userinfo
local users = {}
- local userlist = auth.list_users(self)
+ local userlist = authenticator.list_users(self)
for x,user in pairs(userlist) do
- local userinfo = auth.get_userinfo(self,user)
- users[user] = cfe({
- type="group",
- label=user,
- value={ userid=cfe ({
- label="User ID",
- value=userinfo.userid,
- }),
- username=cfe ({
- label="Real name",
- value=userinfo.username,
- }),
- roles=cfe ({
- label="Roles",
- value=userinfo.roles,
- option=auth.list_roles(),
- type="multi",
- }),
- },
-
- })
+ users[user] = read_user(self, user)
+ users[user].value.password = nil
+ users[user].value.password_confirm = nil
end
return cfe({ type="group", value=users, label="User Configs" })
end
function delete_user(self, userid)
- local result, errmessages = auth.delete_user(self, userid)
- local value
- if result then value = "User Deleted" else value = "Failed to Delete User" end
- local errtxt
- if #errmessages > 0 then errtxt = errmessages:concat("\n") end
- return cfe({ value=value, errtxt=errtxt, label="Delete User Result" })
+ return authenticator.delete_user(self, userid)
end