从MDB调用EJB的权限问题

时间:2018-06-01 11:53:50

标签: keycloak ejb-3.2

我们最近从JAAS切换到了Keycloak。应用程序是带有EJB和Java的JavaEE应用程序。多边开发银行。 在WildFly中设置keycloak登录模块,将用户从wen传播到EJB&有效。 但是当从MDB调用EJB时​​面临问题。收到消息时,MDB中有anonymoius用户。因此,该用户无权调用受以下内容保护的EJB:

<s:security>
    <ejb-name>*</ejb-name>
    <s:missing-method-permissions-deny-access>false</s:missing-method-permissions-deny-access>
    <s:security-domain>keycloak</s:security-domain>
</s:security>

在JAAS版本中,我们使用专用的mdb用户进行编程登录。

loginContext = new LoginContext("ldap", new CallbackHandler() {
     @Override
    public void handle(Callback[] callbacks) {
     ...
     }
 });
 loginContext.login();
 //Invoke EJB now as logged in user

具有所需权限的用户。从现在转移到Keycloak,这个JAAS登录代码将无法正常工作。在从MDB调用EJB时​​阻止权限问题的选项是什么?

0 个答案:

没有答案