I'm going to pick up this thread (although a few months late).  We're 
seeing something of the same issue, but slightly different.

If I connect from my work desktop, on a local 10.0.0.0/8 subnet, my IP 
Authentication works fine. However, this only works for me because of the 
network configuration here. 

The rest of our local traffic is routed through the firewall and shows up 
in the Tomcat logs as the external IP Address. The Dspace log shows this:
2025-09-26 09:52:35,990 WARN  unknown unknown 
org.dspace.authenticate.IPAuthentication @ Malformed IP range specified for 
group WesternSem-Anon
org.dspace.authenticate.IPMatcherException: Malformed IP specification
        at org.dspace.authenticate.IPMatcher.ipToBytes(IPMatcher.java:228) 
~[dspace-api-9.1.jar:9.1]
        at org.dspace.authenticate.IPMatcher.<init>(IPMatcher.java:167) 
~[dspace-api-9.1.jar:9.1]
        at 
org.dspace.authenticate.IPAuthentication.addMatchers(IPAuthentication.java:123) 
~[dspace-api-9.1.jar:9.1]
        at 
org.dspace.authenticate.IPAuthentication.<init>(IPAuthentication.java:100) 
~[dspace-api-9.1.jar:9.1]
        at 
java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
 
~[?:?]
        at 
java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
 
~[?:?]
        at 
java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486) 
~[?:?]
        at 
org.dspace.core.LegacyPluginServiceImpl.getAnonymousPlugin(LegacyPluginServiceImpl.java:209)
 
~[dspace-api-9.1.jar:9.1]
        at 
org.dspace.core.LegacyPluginServiceImpl.getPluginSequence(LegacyPluginServiceImpl.java:198)
 
~[dspace-api-9.1.jar:9.1]
        at 
org.dspace.authenticate.AuthenticationServiceImpl.getAuthenticationMethodStack(AuthenticationServiceImpl.java:70)
 
~[dspace-api-9.1.jar:9.1]
        at 
org.dspace.authenticate.AuthenticationServiceImpl.getSpecialGroups(AuthenticationServiceImpl.java:181)
 
~[dspace-api-9.1.jar:9.1]
        at 
org.dspace.app.rest.security.AnonymousAdditionalAuthorizationFilter.doFilterInternal(AnonymousAdditionalAuthorizationFilter.java:60)
 
~[dspace-server-webapp-9.1.jar:9.1]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:235)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:229)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:235)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:229)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:235)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:229)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:235)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:229)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:235)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:229)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.dspace.app.rest.security.StatelessAuthenticationFilter.doFilterInternal(StatelessAuthenticationFilter.java:105)
 
~[dspace-server-webapp-9.1.jar:9.1]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:117)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)
 
~[spring-security-web-6.5.1.jar:6.5.1]
        at 
org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:319)
 
~[spring-security-config-6.5.1.jar:6.5.1]
        at 
org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$4(HandlerMappingIntrospector.java:267)
 
~[spring-webmvc-6.2.8.jar:6.2.8]
        at 
org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:240)
 
~[spring-security-config-6.5.1.jar:6.5.1]
        at 
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:114)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:124)
 
~[spring-boot-3.5.3.jar:3.5.3]
        at 
org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:99)
 
~[spring-boot-3.5.3.jar:3.5.3]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:117)
 
~[spring-boot-3.5.3.jar:3.5.3]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
 
~[spring-web-6.2.8.jar:6.2.8]
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) 
~[tomcat10-catalina-10.1.16.jar:10.1.16]
        at 
org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:431) 
~[tomcat10-coyote-10.1.16.jar:10.1.16]
        at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
 
~[tomcat10-coyote-10.1.16.jar:10.1.16]
        at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896)
 
~[tomcat10-coyote-10.1.16.jar:10.1.16]
        at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744)
 
~[tomcat10-coyote-10.1.16.jar:10.1.16]
        at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) 
~[tomcat10-coyote-10.1.16.jar:10.1.16]
        at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
 
~[tomcat10-util-10.1.16.jar:10.1.16]
        at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
 
~[tomcat10-util-10.1.16.jar:10.1.16]
        at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 
~[tomcat10-util-10.1.16.jar:10.1.16]
        at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
Caused by: java.lang.NumberFormatException: For input string: ""
        at 
java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
 
~[?:?]
        at java.base/java.lang.Integer.parseInt(Integer.java:672) ~[?:?]
        at java.base/java.lang.Integer.parseInt(Integer.java:778) ~[?:?]
        at org.dspace.authenticate.IPMatcher.ipToBytes(IPMatcher.java:218) 
~[dspace-api-9.1.jar:9.1]
        ... 133 more

The configuration line is simply:
authentication-ip.WesternSem-Anon = XX.XXX.XX.XXX/29, \
                                    10.0.0.0/8

It doesn't matter which order I add the ranges, but 10.0.0.0/8 range is 
recognized and the XX.XXX.XX.XXX range isn't recognized.

On Friday, May 2, 2025 at 7:32:00 AM UTC-4 Michael Plate wrote:

Hi Jose, 

Am 30.04.25 um 21:07 schrieb Jose Blanco: 
> I'm wondering if anyone has implemented ip authentication. I'm not 
> able to get it to work. 

we are using this for a long time know… 

> 
> This is where you indicate to dspace to put certain users in a group 
> based on their ip address. 
> 
> What I am seeing is that because of ssr, the code fails to put the 
> user in the group because it gets called from the server side first 
> with an ip that is different from the ip on the client side. 

I've tried it with a working DSpace 8.1 here, and it worked like expected. 
The client ip address is detected by the backend anyway (javascript 
can't do it w/o calling an API). 

Did you define the exactly same group names in DSpace group management 
and the authentication-ip.cfg ? 
Did you enable "org.dspace.authenticate.IPAuthentication" ? 

Michael 

-- 
All messages to this mailing list should adhere to the Code of Conduct: 
https://www.lyrasis.org/about/Pages/Code-of-Conduct.aspx
--- 
You received this message because you are subscribed to the Google Groups 
"DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/dspace-tech/d7d9b8f9-5c4c-43e6-8a45-47d82012ce67n%40googlegroups.com.

Reply via email to