@Override public boolean userExists(String user, String host) { MycatConfig conf = MycatServer.getInstance().getConfig(); Map<String, Set<String>> quarantineHosts = conf.getQuarantine().getHosts(); if (quarantineHosts.containsKey(host)) { boolean rs = quarantineHosts.get(host).contains(user); if (!rs) { ALARM.error( new StringBuilder() .append(Alarms.QUARANTINE_ATTACK) .append("[host=") .append(host) .append(",user=") .append(user) .append(']') .toString()); } return rs; } else { if (user != null && user.equals(conf.getSystem().getClusterHeartbeatUser())) { return true; } else { return conf.getUsers().containsKey(user); } } }
@Override public Set<String> getUserSchemas(String user) { MycatConfig conf = MycatServer.getInstance().getConfig(); UserConfig uc = conf.getUsers().get(user); if (uc != null) { return uc.getSchemas(); } else { return null; } }
@Override public boolean isDeleteAllow(String user) { MycatConfig conf = MycatServer.getInstance().getConfig(); UserConfig uc = conf.getUsers().get(user); if (uc != null) { return uc.isDeleteAllow(); } else { return false; } }
@Override public String getPassword(String user) { MycatConfig conf = MycatServer.getInstance().getConfig(); if (user != null && user.equals(conf.getSystem().getClusterHeartbeatUser())) { return conf.getSystem().getClusterHeartbeatPass(); } else { UserConfig uc = conf.getUsers().get(user); if (uc != null) { return uc.getPassword(); } else { return null; } } }
@Override public boolean schemaExists(String schema) { MycatConfig conf = MycatServer.getInstance().getConfig(); return conf.getSchemas().containsKey(schema); }