Comparison

core/sessionmanager.lua @ 12662:07424992d7fc

mod_authz_internal, and more: New iteration of role API These changes to the API (hopefully the last) introduce a cleaner separation between the user's primary (default) role, and their secondary (optional) roles. To keep the code sane and reduce complexity, a data migration is needed for people using stored roles in 0.12. This can be performed with prosodyctl mod_authz_internal migrate <host>
author Matthew Wild <mwild1@gmail.com>
date Wed, 17 Aug 2022 16:38:53 +0100
parent 12648:f299e570a0fe
child 12677:3b9771d496ed
comparison
equal deleted inserted replaced
12661:1c391c17a907 12662:07424992d7fc
133 133
134 local role; 134 local role;
135 if role_name then 135 if role_name then
136 role = hosts[session.host].authz.get_role_by_name(role_name); 136 role = hosts[session.host].authz.get_role_by_name(role_name);
137 else 137 else
138 role = hosts[session.host].authz.get_user_default_role(username); 138 role = hosts[session.host].authz.get_user_role(username);
139 end 139 end
140 if role then 140 if role then
141 sessionlib.set_role(session, role); 141 sessionlib.set_role(session, role);
142 end 142 end
143 session.log("info", "Authenticated as %s@%s [%s]", username, session.host or "(unknown)", role and role.name or "no role"); 143 session.log("info", "Authenticated as %s@%s [%s]", username, session.host or "(unknown)", role and role.name or "no role");