Example usage for javax.security.auth.login Configuration setConfiguration

List of usage examples for javax.security.auth.login Configuration setConfiguration

Introduction

In this page you can find the example usage for javax.security.auth.login Configuration setConfiguration.

Prototype

public static void setConfiguration(Configuration configuration) 

Source Link

Document

Set the login Configuration .

Usage

From source file:com.adito.core.CoreJAASConfiguration.java

/**
 * Constructor/*from   w w w .  j  a va2  s . c  o m*/
 */
public CoreJAASConfiguration() {
    super();
    entries = new TreeMap();
    Configuration.setConfiguration(this);
}

From source file:org.nuxeo.runtime.api.login.LoginConfiguration.java

public void install(Provider provider) {
    holder.set(provider);//from w ww  . ja v a2s.  c o m
    int count = counter.incrementAndGet();
    if (count == 1) {
        context = new InstallContext(provider);
        Configuration.setConfiguration(this);
        LogFactory.getLog(LoginConfiguration.class).trace("installed login configuration", context.stacktrace);
    }
}

From source file:backtype.storm.security.auth.kerberos.KerberosSaslTransportPlugin.java

public TTransportFactory getServerTransportFactory() throws IOException {
    // create an authentication callback handler
    CallbackHandler server_callback_handler = new ServerCallbackHandler(login_conf, storm_conf);

    // login our principal
    Subject subject = null;// w w  w  . ja  v  a  2 s  .  com
    try {
        // specify a configuration object to be used
        Configuration.setConfiguration(login_conf);
        // now login
        Login login = new Login(AuthUtils.LOGIN_CONTEXT_SERVER, server_callback_handler);
        subject = login.getSubject();
    } catch (LoginException ex) {
        LOG.error("Server failed to login in principal:" + ex, ex);
        throw new RuntimeException(ex);
    }

    // check the credential of our principal
    if (subject.getPrivateCredentials(KerberosTicket.class).isEmpty()) {
        throw new RuntimeException("Fail to verify user principal with section \""
                + AuthUtils.LOGIN_CONTEXT_SERVER + "\" in login configuration file " + login_conf);
    }

    String principal = AuthUtils.get(login_conf, AuthUtils.LOGIN_CONTEXT_SERVER, "principal");
    LOG.debug("principal:" + principal);
    KerberosName serviceKerberosName = new KerberosName(principal);
    String serviceName = serviceKerberosName.getServiceName();
    String hostName = serviceKerberosName.getHostName();
    Map<String, String> props = new TreeMap<String, String>();
    props.put(Sasl.QOP, "auth");
    props.put(Sasl.SERVER_AUTH, "false");

    // create a transport factory that will invoke our auth callback for digest
    TSaslServerTransport.Factory factory = new TSaslServerTransport.Factory();
    factory.addServerDefinition(KERBEROS, serviceName, hostName, props, server_callback_handler);

    // create a wrap transport factory so that we could apply user credential during connections
    TUGIAssumingTransportFactory wrapFactory = new TUGIAssumingTransportFactory(factory, subject);

    LOG.info("SASL GSSAPI transport factory will be used");
    return wrapFactory;
}

From source file:com.streamsets.pipeline.kafka.impl.TestSaslEnabledKafka.java

@BeforeClass
public static void beforeClass() throws Exception {
    testDir = new File("target", UUID.randomUUID().toString()).getAbsoluteFile();
    Assert.assertTrue(testDir.mkdirs());

    File kdcDir = new File(testDir, KDC);
    Assert.assertTrue(kdcDir.mkdirs());//  w w w.  jav a  2 s  . c om
    keytabFile = new File(testDir, TEST_KEYTAB);

    miniKdc = new MiniKdc(MiniKdc.createConf(), kdcDir);
    miniKdc.start();
    miniKdc.createPrincipal(keytabFile, KAFKA_BROKER_PRINCIPAL, KAFKA_CLIENT_PRINCIPAL);

    jaasConfigFile = new File(testDir, KAFKA_JAAS_CONF);
    jaasConfigFile.createNewFile();
    jaasConfigFile.setReadable(true);
    String jaasConf = JAAS_CONF.replaceAll("keyTabFile", keytabFile.getAbsolutePath());
    FileOutputStream outputStream = new FileOutputStream(jaasConfigFile);
    IOUtils.write(jaasConf, outputStream);
    outputStream.close();

    plainTextPort = TestUtil.getFreePort();
    securePort = TestUtil.getFreePort();

    // reload configuration when getConfiguration is called next
    Configuration.setConfiguration(null);
    System.setProperty(JAVA_SECURITY_AUTH_LOGIN_CONFIG, jaasConfigFile.getAbsolutePath());

    TestSecureKafkaBase.beforeClass();
}

From source file:org.jboss.test.security.test.CustomPrincipalPropagationUnitTestCase.java

/**
 * Custom Principal from outside the Application Server VM
 * @throws Exception/*from   w  w w .j a  va  2s .c  om*/
 */
public void testCustomPrincipalTransmission() throws Exception {
    Configuration.setConfiguration(new MyConfig());
    login();
    Object obj = getInitialContext().lookup("jaas.CustomPrincipalHome");
    obj = PortableRemoteObject.narrow(obj, CustomPrincipalHome.class);
    CustomPrincipalHome home = (CustomPrincipalHome) obj;
    log.debug("Found CustomPrincipalHome");
    CustomPrincipal bean = home.create();
    log.debug("Created CustomPrincipal");

    boolean isCustomType = bean.validateCallerPrincipal(CustomPrincipalImpl.class);
    bean.remove();
    logout();
    assertTrue("CustomPrincipalImpl was seen", isCustomType);
}

From source file:com.streamsets.pipeline.kafka.impl.TestSaslEnabledKafka.java

@AfterClass
public static void afterClass() {
    TestSecureKafkaBase.afterClass();/*ww w . j a va  2 s  .  c o m*/
    if (miniKdc != null) {
        miniKdc.stop();
        miniKdc = null;
    }
    System.clearProperty(JAVA_SECURITY_AUTH_LOGIN_CONFIG);
    Configuration.setConfiguration(null);
    if (jaasConfigFile.exists()) {
        jaasConfigFile.delete();
    }
    if (keytabFile.exists()) {
        keytabFile.delete();
    }
}

From source file:org.nuxeo.runtime.api.login.LoginConfiguration.java

public void uninstall() {
    holder.remove();/*from w w  w  .j a  v a2 s.  com*/
    int count = counter.decrementAndGet();
    if (count == 0) {
        LogFactory.getLog(LoginConfiguration.class).trace("uninstalled login configuration " + context.thread,
                context.stacktrace);
        Configuration.setConfiguration(context.parent);
        context = null;
    }
}

From source file:org.eclipse.ecr.runtime.api.login.LoginComponent.java

@Override
public void activate(ComponentContext context) throws Exception {
    // setup the nuxeo login configuration
    Configuration parentConfig = null;
    try {/*  www .  j  a  v a 2s .  c om*/
        parentConfig = Configuration.getConfiguration();
    } catch (Exception e) {
        // do nothing - this can happen if default configuration provider
        // is not correctly configured
        // for examnple FileConfig fails if no config file was defined
    }
    config = new LoginConfiguration(this, parentConfig);
    Configuration.setConfiguration(config);
}

From source file:io.confluent.rest.SaslTest.java

@Before
public void setUp() throws Exception {
    jaasFile = File.createTempFile("jaas", ".config");
    loginPropertiesFile = File.createTempFile("login", ".properties");

    String jaas = "c3 {\n" + "  org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required\n"
            + "  debug=\"true\"\n" + "  file=\"" + loginPropertiesFile.getAbsolutePath() + "\";\n" + "};\n";
    Files.write(jaasFile.toPath(), jaas.getBytes(StandardCharsets.UTF_8), StandardOpenOption.TRUNCATE_EXISTING);

    String loginProperties = "jay: kafka,Administrators\n" + "neha: akfak,Administrators\n" + "jun: kafka-\n";
    Files.write(loginPropertiesFile.toPath(), loginProperties.getBytes(StandardCharsets.UTF_8),
            StandardOpenOption.TRUNCATE_EXISTING);
    previousAuthConfig = System.getProperty("java.security.auth.login.config");
    Configuration.setConfiguration(null);
    System.setProperty("java.security.auth.login.config", jaasFile.getAbsolutePath());
    httpclient = HttpClients.createDefault();
    TestMetricsReporter.reset();/*from   w  w w. j  a  va 2 s . co  m*/
    Properties props = new Properties();
    props.put(RestConfig.LISTENERS_CONFIG, httpUri);
    props.put(RestConfig.METRICS_REPORTER_CLASSES_CONFIG, "io.confluent.rest.TestMetricsReporter");
    configBasic(props);
    TestRestConfig config = new TestRestConfig(props);
    app = new SaslTestApplication(config);
    app.start();
}

From source file:org.eclipse.ecr.runtime.api.login.LoginComponent.java

@Override
public void deactivate(ComponentContext context) throws Exception {
    Configuration.setConfiguration(config.getParent());
    config = null;
}