Я хотел бы добавить пользовательский модуль входа в систему JAAS в ActiveMQ Artemis. Поэтому я создал класс (то есть MyLogin
), который реализует javax.security.auth.spi.LoginModule
.
public class MyLogin implements javax.security.auth.spi.LoginModule
{
@Override
public boolean abort() throws LoginException
{
out( "abort" );
return true;
}
@Override
public boolean commit() throws LoginException
{
out( "commit" );
return true;
}
@Override
public void initialize( Subject subject, CallbackHandler callbackHandler, Map<String, ?> sharedState, Map<String, ?> options )
{
out( "initialize" );
}
@Override
public boolean login() throws LoginException
{
out( "login" );
return true;
}
@Override
public boolean logout() throws LoginException
{
out( "logout" );
return true;
}
private void out( String msg )
{
System.out.println( "MSO: " + msg );
System.err.println( "MSW: " + msg );
}
}
. Я поместил этот класс в банку и поместил в каталог %artemis_home%/lib
.
В login.config
я изменил запись для activemq
на
activemq {
t1.security.MyLogin sufficient
debug=true
};
Я ожидал, что каждое соединение будет успешным, но оно просто не работает. Теперь все соединения отклонены, и я не вижу ни одного из сообщений, напечатанных в MyLogin
классе.
Есть ли способ узнать, загружен ли этот LoginModule
, или как я могу отладить это?