Hello
I create remote connections with EjbClientContext and use following CallBackHandler to provide user information:
class AuthenticationCallbackHandler implements CallbackHandler {
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
for (Callback current : callbacks) {
if (current instanceof NameCallback) {
NameCallback ncb = (NameCallback) current;
ncb.setName("admin");
} else if (current instanceof PasswordCallback) {
PasswordCallback pcb = (PasswordCallback) current;
pcb.setPassword("admin".toCharArray());
} else {
throw new UnsupportedCallbackException(current);
}
}
}
}
now I use hardcoded user name and password for all invocations.
But I need to do next: webconsole use many threads where it uses remote ejb, and each thread contain users information(many users could work with console at one time).
I need to dynamically provide user information from different threads via remote connection, but I don't understand how to do that, because AuthenticationCallbackHandler handle invocations in another thread. How to put user information into this callback?