Позвольте мне описать проблему, которую я пытаюсь решить.
Я использую Java Parser Library 3.5.17
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/resources/**", "/signup", "/about").permitAll() // Compliant
.antMatchers("/admin/login").permitAll()
.antMatchers("/admin/**").hasRole("ADMIN") // Compliant
.antMatchers("/db/**").access("hasRole('ADMIN') and hasRole('DBA')")
.antMatchers("/**", "/home").permitAll() // Compliant; "/**" is the last one
.and().formLogin().loginPage("/login").permitAll().and().logout().permitAll();
}
Я должен убедиться, что шаблоны URL в antMatchers правильно заказал. Я использовал JavaParser и получил все вызовы методов, выяснил аргументы. Трудность в том, что я должен убедиться, что это одно связанное утверждение. Я попытался использовать решатель символов, чтобы выяснить resolveInvokedMethod, но это вызывает исключение в разрешенииall (). Могу ли я получить следующий токен из лексического анализатора. Я был бы рад, если бы кто-нибудь из вас мог предложить решение проблемы.