Да, используйте .access()
с пользовательским компонентом, который имеет класс Utility @Autowired и принимает текущий запрос HttpServlet в качестве параметра, который Spring автоматически внедрит для вас (рядом с текущим объектом аутентификации).
Пример:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/api/**").access("@yourCustomIpCheckerBean.check(authentication, request)");
}
Хотя вы, вероятно, могли бы также напрямую записать его как SpEL, если это просто ваша утилита, необходимая для проверки IP. Что-то вроде (не проверено):
.access("request.remoteAddr == @yourUtility.getOtherDeviceIP()")