I'm going to say that I've got this licked. There were a couple of other issues at play, but the important piece was the client.ip-anonymization.parts value. We're a very small institution, so the anonymized IP Address coming out of that parameter did not match the IP Authentication range.
On Friday, September 26, 2025 at 10:02:49 AM UTC-4 Steve Michaels wrote: > 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/78d54792-af66-42e0-a914-e0a7f6729ff0n%40googlegroups.com.
