JAAS via Wildfly

ace1988

Neues Mitglied
Hey liebe Leute

Ich will JAAS in einer Java-Anwendung mit Wildfly(8.2.0)Ich hab verschiedene Methoden, Möglichkeiten und Konfigurationen ausprobiert und verwendet.
Begonnen habich mit der Konfiguration von Wildfly in der standalone.xml(im Anhang)

Standalone konfigurieren



1. Bei der Standalone.xml einen neuen Security Realm erstellt:

Code:
<security-realm name="TPRealm">
           <authentication>
                     <jaas name="TPLogin"/>
           </authentication>
</security-realm>


2. Dieser Realm haben als Standard gesetzt:

Code:
<http-connector name="http-remoting-connector" connector-ref="default" security-realm="TPRealm"/>


3. Und dann noch die Security-Domain mit dem Login-Module
Code:
                      <security-domain name="TPLogin" cache-type="default">
                          <authentication>
                              <login-module code="Database" flag="required">
                                  <module-option name="dsJndiName" value="java:jboss/datasources/TourPlanningDS"/>
                                  <module-option name="principalsQuery" value="select passwordHash from TaUser where login=?"/>
                              </login-module>
                          </authentication>
                      </security-domain>

(im Anhang befindet sich die komplette XML-Datei)


Aufruf im Code:


Java:
String username = "Admin";
String password = "admin";

PasswordClientCallbackHandler handler = new PasswordClientCallbackHandler(username, "TPRealm", password.toCharAttay());

   try {
    LoginContext loginContext = new LoginContext("TPRealm", handler);
    loginContext.login();
} catch (LoginException e) {
    System.out.println("Login failed");
    return;
}

Bekomme da aber beim "new LoginContext(...)" folgenden Meldung:
javax.security.auth.login.LoginException: unable to find LoginModule class:eek:rg.jboss.security.auth.spi.TPLogin





Hab dann im Internet öfters gelesen, dass eine config-Datei benötigt wird (jaas.config)

TPRealm {

org.jboss.security.auth.spi.TPLogin required; // I dont know, what exactly have to stay here

}



Hab diese Datei zu den Properties hinzugefügt:

Java:
System.setProperty("java.security.auth.login.config", jaasConfig)        //jaasConfig: Pfad zur Datei

Dann kann ich zwar die Zeile mit "new LoginContext(...)" ausführen.
aber dann scheitert es beim "loginContext.login()".
mit folgender Fehlermeldung:
javax.security.auth.login.LoginException: LoginModule-Klasse kann nicht gefunden werden


Ich hab auch den Log von WIldFly beobachtet, hab erwartet dass etwas geloggt wird,
aber da hat sich nichts getan als der Code im Cockpit ausgeführt wurde.

In der Java Applikation habe ich auch folgenden Propertys gesetzt:

Java:
 Properties ejbProps = new Properties();
 ejbProps.put("endpoint.name", "client-endpoint");
 ejbProps.put("remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED", "false");
 ejbProps.put("remote.connections", "default");
 ejbProps.put("remote.connection.default.host", "localhost");
 ejbProps.put("remote.connection.default.port", "8080");
 ejbProps.put("remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS", "false");

 
 EJBClientConfiguration cc = new PropertiesBasedEJBClientConfiguration(ejbProps);
 ContextSelector<EJBClientContext> selector = new ConfigBasedEJBClientContextSelector(cc);
 EJBClientContext.setSelector(selector);


Müssen noch weitere Properties noch gesetzt werden?
Muss noch was Anderes beachtet werden?


Falls ihr eine Idee habt, oder euch was auffällt, was falsch ist, bitte meldet euch.

Vielen Dank
 

Ähnliche Java Themen

Neue Themen


Oben