0

我们的应用程序依赖于AuthorizationModule过滤远程上下文中的某些 IP 地址。该模块在JBoss 5.1.0.GA上运行良好(使用已知的解决方法),但在EAP-6.1.0.Alpha上失败,因为Thread名称模式发生了显着变化。

Q: 是否可以在以下情况下获取客户端 IP 地址?

import org.jboss.security.authorization.modules.AbstractAuthorizationModule;

public class MyAuthorizationModule extends AbstractAuthorizationModule {
  @Override
  public int authorize(Resource resource) {
        //Caller is a standalone Java client, that connects to JBoss 7.x using EJB Remoting
        String callerIP = ...; 
  }
}

到目前为止我已经尝试过:

  1. 呼唤java.rmi.server.RemoteServer.getClientHost()。这导致ServerNotActiveException.

  2. 解析JBossThread名称(相关 讨论)。

4

1 回答 1

0

我在JBoss Community的帮助下解决了我的问题。然而,这不是一个优雅的解决方案,因为我最终修补了应用程序服务器的内部(EJB3 模块)。查看社区帖子了解更多详情。

于 2013-06-03T17:20:13.493 回答