Keyclock

时间:2018-06-04 12:20:59

标签: keycloak jaas jboss-mdb

使用Keyclock时,我遇到了JAAS登录上下文传播的问题。从Message Driven Bean执行以下代码以作为应用程序MDB用户登录。

loginContext = new LoginContext("keycloak", new CallbackHandler() {
             @Override
            public void handle(Callback[] callbacks) {
                 int len = callbacks.length;
                 Callback cb;
                 for (int i = 0; i < len; i++) {
                     cb = callbacks[i];
                     if (cb instanceof NameCallback) {
                         NameCallback ncb = (NameCallback) cb;
                         ncb.setName(mdbuserName);
                     } else if (cb instanceof PasswordCallback) {
                         PasswordCallback pcb = (PasswordCallback) cb;
                         pcb.setPassword(mdbUserPass);
                     }
                 }
             }
         });
         loginContext.login();

在我检查校长后,我得到了匿名!

Principal p = ctx.getCallerPrincipal();

这个问题有解决方法吗?

0 个答案:

没有答案