Chcę wystawić JMXa po SSLu (w ramach serwera aplikacyjnego) z wymaganym uwierzytelnieniem via login/hasło, ale to do czego dążę, to użycie danych z security realma, w którym:

  • mam zdefiniowane role typu Admin, Operator, Monitor, etc.
  • uwierzytelnienie i autoryzację robię w oparciu o zewnętrzne repozytorium typu ActiveDirectory
  • na kliencie (np. JConsole) chciałbym podać user/pass, które to serwer aplikacyjny przetworzy w ramach zdefiniowanych "dostawców bezpieczeństwa"

W skromniejszym wariancie (skromniejszym funkcjonalnie, ale żeby się nie narobić) chciałbym uniknąć składowania haseł otwartym tekstem i definiowania polityki dostępu w plikach wskazanych via:

-Dcom.sun.management.jmxremote.password.file=jmxremote.password 
-Dcom.sun.management.jmxremote.access.file=jmxremote.access

Moje boje (jeszcze bez SSLa):

Parametry dla JVM:

...
-Dcom.sun.management.jmxremote.port=8888 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=true \
-Dcom.sun.management.jmxremote.login.config=MyDefaultAuthneticator \
-Djava.security.auth.login.config=/u01/app/oracle/config/domains/foobar/jaas.conf \
....

oraz jaas.conf:

MyDefaultAuthneticator
{
	weblogic.security.providers.authentication.DefaultAuthenticator REQUIRED
}

Serwer wstaje i nasłuchuje na 8888. Próbuję się łączyć i kicha:

IllegalArgumentException: No Configuration was registered that can handle the configuration named MyDefaultAuthenticator

Ktoś z powodzeniem testował taką/analogiczną konfigurację JMX + JAAS ?