use of com.hazelcast.config.security.JaasAuthenticationConfig in project hazelcast by hazelcast.
the class ClientConfigXmlGeneratorTest method kerberosIdentity.
@Test
public void kerberosIdentity() {
KerberosIdentityConfig identityConfig = new KerberosIdentityConfig().setRealm("realm").setSecurityRealm("security-realm").setPrincipal("jduke").setKeytabFile("/opt/keytab").setServiceNamePrefix("prefix").setSpn("spn");
RealmConfig realmConfig = new RealmConfig().setJaasAuthenticationConfig(new JaasAuthenticationConfig().addLoginModuleConfig(new LoginModuleConfig("test.Krb5LoginModule", LoginModuleUsage.REQUIRED).setProperty("principal", "jduke")));
ClientSecurityConfig securityConfig = clientConfig.getSecurityConfig().setKerberosIdentityConfig(identityConfig).addRealmConfig("kerberos", realmConfig);
ClientConfig actual = newConfigViaGenerator();
assertEquals(securityConfig, actual.getSecurityConfig());
}
use of com.hazelcast.config.security.JaasAuthenticationConfig in project hazelcast by hazelcast.
the class TestClientApplicationContext method testSecurityRealms.
@Test
public void testSecurityRealms() {
assertNotNull(client5);
RealmConfig realmConfig = client5.getClientConfig().getSecurityConfig().getRealmConfig("krb5Initiator");
assertNotNull(realmConfig);
JaasAuthenticationConfig jaasAuthenticationConfig = realmConfig.getJaasAuthenticationConfig();
assertNotNull(jaasAuthenticationConfig);
assertEquals(1, jaasAuthenticationConfig.getLoginModuleConfigs().size());
LoginModuleConfig loginModuleConfig = jaasAuthenticationConfig.getLoginModuleConfigs().get(0);
assertEquals("com.sun.security.auth.module.Krb5LoginModule", loginModuleConfig.getClassName());
assertEquals("jduke@HAZELCAST.COM", loginModuleConfig.getProperties().getProperty("principal"));
}
use of com.hazelcast.config.security.JaasAuthenticationConfig in project hazelcast by hazelcast.
the class SecureApplicationContextTest method testClientLoginConfigs.
@Test
public void testClientLoginConfigs() {
RealmConfig realmConfig = securityConfig.getRealmConfig(securityConfig.getClientRealm());
JaasAuthenticationConfig jaasAuthenticationConfig = realmConfig.getJaasAuthenticationConfig();
assertNotNull(jaasAuthenticationConfig);
List<LoginModuleConfig> list = jaasAuthenticationConfig.getLoginModuleConfigs();
assertEquals(2, list.size());
LoginModuleConfig lm1 = list.get(0);
assertEquals("com.hazelcast.examples.MyOptionalLoginModule", lm1.getClassName());
assertFalse(lm1.getProperties().isEmpty());
assertEquals(LoginModuleUsage.OPTIONAL, lm1.getUsage());
LoginModuleConfig lm2 = list.get(1);
assertEquals("com.hazelcast.examples.MyRequiredLoginModule", lm2.getClassName());
assertFalse(lm2.getProperties().isEmpty());
assertEquals(LoginModuleUsage.REQUIRED, lm2.getUsage());
}
use of com.hazelcast.config.security.JaasAuthenticationConfig in project hazelcast by hazelcast.
the class ConfigXmlGeneratorTest method testSecurityConfig.
@Test
public void testSecurityConfig() {
Config cfg = new Config();
Properties dummyprops = new Properties();
dummyprops.put("a", "b");
RealmConfig memberRealm = new RealmConfig().setJaasAuthenticationConfig(new JaasAuthenticationConfig().setLoginModuleConfigs(Arrays.asList(new LoginModuleConfig().setClassName("member.f.o.o").setUsage(LoginModuleConfig.LoginModuleUsage.OPTIONAL), new LoginModuleConfig().setClassName("member.b.a.r").setUsage(LoginModuleConfig.LoginModuleUsage.SUFFICIENT), new LoginModuleConfig().setClassName("member.l.o.l").setUsage(LoginModuleConfig.LoginModuleUsage.REQUIRED)))).setCredentialsFactoryConfig(new CredentialsFactoryConfig().setClassName("foo.bar").setProperties(dummyprops));
SecurityConfig expectedConfig = new SecurityConfig();
expectedConfig.setEnabled(true).setOnJoinPermissionOperation(OnJoinPermissionOperationName.NONE).setClientBlockUnmappedActions(false).setClientRealmConfig("cr", new RealmConfig().setJaasAuthenticationConfig(new JaasAuthenticationConfig().setLoginModuleConfigs(Arrays.asList(new LoginModuleConfig().setClassName("f.o.o").setUsage(LoginModuleConfig.LoginModuleUsage.OPTIONAL), new LoginModuleConfig().setClassName("b.a.r").setUsage(LoginModuleConfig.LoginModuleUsage.SUFFICIENT), new LoginModuleConfig().setClassName("l.o.l").setUsage(LoginModuleConfig.LoginModuleUsage.REQUIRED)))).setUsernamePasswordIdentityConfig("username", "password")).setMemberRealmConfig("mr", memberRealm).setClientPermissionConfigs(new HashSet<>(asList(new PermissionConfig().setActions(newHashSet("read", "remove")).setEndpoints(newHashSet("127.0.0.1", "127.0.0.2")).setType(PermissionConfig.PermissionType.ATOMIC_LONG).setName("mycounter").setPrincipal("devos"), new PermissionConfig().setType(PermissionConfig.PermissionType.MANAGEMENT).setPrincipal("mcadmin"), new PermissionConfig().setType(PermissionConfig.PermissionType.CONFIG), new PermissionConfig().setActions(newHashSet("read", "create")).setType(PermissionConfig.PermissionType.REPLICATEDMAP).setName("rmap").setPrincipal("monitor"))));
cfg.setSecurityConfig(expectedConfig);
SecurityConfig actualConfig = getNewConfigViaXMLGenerator(cfg, false).getSecurityConfig();
assertEquals(expectedConfig, actualConfig);
}
Aggregations