use of com.hazelcast.security.UsernamePasswordCredentials in project hazelcast by hazelcast.
the class ClientConnectionManagerImpl method encodeAuthenticationRequest.
private ClientMessage encodeAuthenticationRequest(boolean asOwner, SerializationService ss, byte serializationVersion, String uuid, String ownerUuid) {
ClientMessage clientMessage;
if (credentials.getClass().equals(UsernamePasswordCredentials.class)) {
UsernamePasswordCredentials cr = (UsernamePasswordCredentials) credentials;
clientMessage = ClientAuthenticationCodec.encodeRequest(cr.getUsername(), cr.getPassword(), uuid, ownerUuid, asOwner, ClientTypes.JAVA, serializationVersion, BuildInfoProvider.BUILD_INFO.getVersion());
} else {
Data data = ss.toData(credentials);
clientMessage = ClientAuthenticationCustomCodec.encodeRequest(data, uuid, ownerUuid, asOwner, ClientTypes.JAVA, serializationVersion, BuildInfoProvider.BUILD_INFO.getVersion());
}
return clientMessage;
}
use of com.hazelcast.security.UsernamePasswordCredentials in project hazelcast by hazelcast.
the class AuthenticationBaseMessageTask method authenticate.
private AuthenticationStatus authenticate() {
ILogger logger = clientEngine.getLogger(getClass());
AuthenticationStatus status;
if (credentials == null) {
status = AuthenticationStatus.CREDENTIALS_FAILED;
logger.severe("Could not retrieve Credentials object!");
} else if (clientEngine.getSecurityContext() != null) {
status = authenticate(clientEngine.getSecurityContext());
} else if (credentials instanceof UsernamePasswordCredentials) {
UsernamePasswordCredentials usernamePasswordCredentials = (UsernamePasswordCredentials) credentials;
status = authenticate(usernamePasswordCredentials);
} else {
status = AuthenticationStatus.CREDENTIALS_FAILED;
logger.severe("Hazelcast security is disabled.\nUsernamePasswordCredentials or cluster " + "group-name and group-password should be used for authentication!\n" + "Current credentials type is: " + credentials.getClass().getName());
}
return status;
}
use of com.hazelcast.security.UsernamePasswordCredentials in project hazelcast by hazelcast.
the class HazelcastClientInstanceImpl method initCredentials.
private Credentials initCredentials(ClientConfig config) {
final GroupConfig groupConfig = config.getGroupConfig();
final ClientSecurityConfig securityConfig = config.getSecurityConfig();
Credentials c = securityConfig.getCredentials();
if (c == null) {
final String credentialsClassname = securityConfig.getCredentialsClassname();
if (credentialsClassname != null) {
try {
c = ClassLoaderUtil.newInstance(config.getClassLoader(), credentialsClassname);
} catch (Exception e) {
throw ExceptionUtil.rethrow(e);
}
}
}
if (c == null) {
c = new UsernamePasswordCredentials(groupConfig.getName(), groupConfig.getPassword());
}
return c;
}
use of com.hazelcast.security.UsernamePasswordCredentials in project hazelcast by hazelcast.
the class ClusterDiscoveryServiceBuilder method build.
public ClusterDiscoveryService build() {
ArrayList<CandidateClusterContext> contexts = new ArrayList<>();
for (ClientConfig config : configs) {
ClientNetworkConfig networkConfig = config.getNetworkConfig();
SocketInterceptor interceptor = initSocketInterceptor(networkConfig.getSocketInterceptorConfig());
ICredentialsFactory credentialsFactory = initCredentialsFactory(config);
if (credentialsFactory == null) {
credentialsFactory = new StaticCredentialsFactory(new UsernamePasswordCredentials(null, null));
}
credentialsFactory.configure(new ClientCallbackHandler(config));
DiscoveryService discoveryService = initDiscoveryService(config);
AddressProvider provider;
if (externalAddressProvider != null) {
provider = externalAddressProvider;
} else {
provider = createAddressProvider(config, discoveryService);
}
final SSLConfig sslConfig = networkConfig.getSSLConfig();
final SocketOptions socketOptions = networkConfig.getSocketOptions();
contexts.add(new CandidateClusterContext(config.getClusterName(), provider, discoveryService, credentialsFactory, interceptor, clientExtension.createChannelInitializer(sslConfig, socketOptions)));
}
return new ClusterDiscoveryService(unmodifiableList(contexts), configsTryCount, lifecycleService);
}
use of com.hazelcast.security.UsernamePasswordCredentials in project hazelcast by hazelcast.
the class AuthenticationMessageTask method decodeClientMessage.
@Override
protected ClientAuthenticationCodec.RequestParameters decodeClientMessage(ClientMessage clientMessage) {
ClientAuthenticationCodec.RequestParameters parameters = ClientAuthenticationCodec.decodeRequest(clientMessage);
final UUID uuid = parameters.uuid;
if (uuid != null) {
clientUuid = uuid;
}
clusterName = parameters.clusterName;
credentials = new UsernamePasswordCredentials(parameters.username, parameters.password);
clientSerializationVersion = parameters.serializationVersion;
clientVersion = parameters.clientHazelcastVersion;
clientName = parameters.clientName;
labels = Collections.unmodifiableSet(new HashSet<>(parameters.labels));
return parameters;
}
Aggregations