my tapestry4-springntlm application is able to access successfully inside (LAN),internal ip address. but when we set it to external ip address and access it from outside, i get 'blank page' 401. i suspect is because spring security setting.
i'm trying to acess http://202.xxx/myapp/app and get 401+blank screen (fail)-see below my appContext.xml setting
if access internal ip address http://10.xxx/app no problem, success
i also try http://202.xxx/myapp/dummyJSP.jsp success (coz my springsecurity bypass this)
below is my spring bootstrap
21 Jul 2010 10:46:07,559 INFO [main] - FilterChainProxy:
FilterChainProxy[ UrlMatcher = org.springframework.security.util.AntUrlPathMatcher[requiresLowerCase='true']; Filter Chains: {/cannotlogin.jsp=[], /.jsp=[], /css/=[], /images/=[], /js/=[], /development-bundle/=[], /dwr/=[], /emptyform/=[], /*=[org.springframework.security.concurrent.ConcurrentSessionFilter[ order=100; ], org.springframework.security.context.HttpSessionContextIntegrationFilter[ order=200; ], org.springframework.security.ui.ExceptionTranslationFilter[ order=1400; ], org.springframework.security.ui.ntlm.NtlmProcessingFilter[ order=1500; ], org.springframework.security.ui.SessionFixationProtectionFilter[ order=1600; ], org.springframework.security.intercept.web.FilterSecurityInterceptor@1c233dd]}]
my appcontext.xml setting
<security:http access-denied-page="/cannotlogin.jsp"
entry-point-ref="ntlmEntryPoint"
servlet-api-provision="false"
>
<security:intercept-url pattern="/**" access="ROLE_USER" />
why i get 401 when accessing from outside through external ip address? this doesnt happen in internal ip address
below is my log error
21 Jul 2010 11:47:25,497 DEBUG [http-2020-6] - Starting NTLM handshake
21 Jul 2010 11:47:25,497 DEBUG [http-2020-6] - Authentication exception occurred; redirecting to authentication entry point
org.springframework.security.ui.ntlm.NtlmBeginHandshakeException: NTLM
at org.springframework.security.ui.ntlm.NtlmProcessingFilter.doFilterHttp(NtlmProcessingFilter.java:324)
ntlmprocessingfilter.java
if (ntlmState == null) {
if (forceIdentification) {
logger.debug("Starting NTLM handshake");
session.setAttribute(STATE_ATTR, BEGIN);
throw new NtlmBeginHandshakeException(); (line 324)
}