aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/usermanager.lua2
-rw-r--r--plugins/mod_authz_internal.lua (renamed from plugins/mod_authz_config.lua)8
2 files changed, 8 insertions, 2 deletions
diff --git a/core/usermanager.lua b/core/usermanager.lua
index acdc7909..aced0379 100644
--- a/core/usermanager.lua
+++ b/core/usermanager.lua
@@ -56,7 +56,7 @@ local provider_mt = { __index = new_null_provider() };
local function initialize_host(host)
local host_session = hosts[host];
- local authz_provider_name = config.get(host, "authorization") or "config";
+ local authz_provider_name = config.get(host, "authorization") or "internal";
local authz_mod = modulemanager.load(host, "authz_"..authz_provider_name);
host_session.authz = authz_mod or global_authz_provider;
diff --git a/plugins/mod_authz_config.lua b/plugins/mod_authz_internal.lua
index 41b8d9f0..0f6e4873 100644
--- a/plugins/mod_authz_config.lua
+++ b/plugins/mod_authz_internal.lua
@@ -1,11 +1,15 @@
local normalize = require "util.jid".prep;
local admin_jids = module:get_option_inherited_set("admins", {}) / normalize;
local host = module.host;
+local role_store = module:open_store("roles");
local admin_role = { ["prosody:admin"] = true };
function get_user_roles(user)
- return get_jid_roles(user.."@"..host);
+ if admin_jids:contains(user.."@"..host) then
+ return admin_role;
+ end
+ return role_store:get(user);
end
function get_jid_roles(jid)
@@ -14,3 +18,5 @@ function get_jid_roles(jid)
end
return nil;
end
+
+