diff options
author | Ted Trask <ttrask01@yahoo.com> | 2008-07-22 19:58:39 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2008-07-22 19:58:39 +0000 |
commit | 8cfe28d0691856222685b93f4a58664416a0aa65 (patch) | |
tree | bdc57542af8a67aefbd4b587b6aa9d5483ca3e55 /app/acf-util/password-model.lua | |
parent | a1ad49891bbeea6c4c5cf77a574d219c9a722eab (diff) | |
download | acf-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-x | app/acf-util/password-model.lua | 112 |
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 |