in ambari-infra-solr-plugin/src/main/java/org/apache/solr/security/InfraRuleBasedAuthorizationPlugin.java [186:218]
public void init(Map<String, Object> initInfo) {
mapping.put(null, new InfraRuleBasedAuthorizationPlugin.WildCardSupportMap());
Map<String, Object> map = getMapValue(initInfo, "user-role");
for (Object o : map.entrySet()) {
Map.Entry e = (Map.Entry) o;
String roleName = (String) e.getKey();
usersVsRoles.put(roleName, Permission.readValueAsSet(map, roleName));
}
List<Map> perms = getListValue(initInfo, "permissions");
for (Map o : perms) {
Permission p;
try {
p = Permission.load(o);
} catch (Exception exp) {
log.error("Invalid permission ", exp);
continue;
}
permissions.add(p);
add2Mapping(p);
// adding user-host
Map<String, Object> userHostsMap = getMapValue(initInfo, "user-host");
for (Object userHost : userHostsMap.entrySet()) {
Map.Entry e = (Map.Entry) userHost;
String roleName = (String) e.getKey();
userVsHosts.put(roleName, readValueAsSet(userHostsMap, roleName));
}
// adding user-host-regex
Map<String, Object> userHostRegexMap = getMapValue(initInfo, "user-host-regex");
for (Map.Entry<String, Object> entry : userHostRegexMap.entrySet()) {
userVsHostRegex.put(entry.getKey(), entry.getValue().toString());
}
}
}