우리 응용 프로그램은 원격 컨텍스트에서 특정 IP 주소를 필터링하기 위해 AuthorizationModule
을 사용합니다. 이 모듈은 JBoss 5.1.0.GA (with a known workaround)에서 완벽하게 작동하지만 Thread
이름 패턴이 크게 변경되었으므로 EAP-6.1.0.Alpha에서 실패합니다.JBoss 7의 AuthorizationModule에서 원격 클라이언트 IP 얻기
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 = ...;
}
}
지금까지 시도했습니다 무엇 :
java.rmi.server.RemoteServer.getClientHost()
를 호출. 결과는ServerNotActiveException
입니다.구문 분석
JBossThread
이름 (relateddiscussions)입니다.
org.apache.catalina.valves.RemoteAddrValve 밸브를 사용하여 JBoss 구성으로 IP 주소를 필터링하지 않는 이유는 무엇입니까? – Thomas
@ 토마스 : 내 생각에 이것은 [웹] (http://www.mastertheboss.com/jboss-web-server/using-web-valves-with-jboss-7) 모듈에서만 유용 할 것으로 생각합니다. _remoting_ 연결을 필터링 하시겠습니까? –