Я включил безопасность весенней загрузки и добавил некоторые URL-адреса в список исключений (porperty безопасность.игнорируется) в приложении.yaml.
Теперь я хочу программно добавить несколько новых URL-адресов в список исключений в моем классе конфигурации.
Как я мог добиться этого?
PS Я не могу редактировать yaml, я могу редактировать только класс конфигурации.
Если вы хотите исключить некоторые шаблоны URL-адресов в java вместо yaml или свойств.
Пример:
Если вам нужно исключить,
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/login**").permitAll()
.antMatchers("/admin/**").access("hasRole('ROLE_ADMIN')")
.antMatchers("/**").access("hasRole('ROLE_USER')")
.and()
.formLogin().loginPage("/login").failureUrl("/login?error")
.usernameParameter("username").passwordParameter("password")
.and()
.logout().logoutSuccessUrl("/login?logout")
.and()
.exceptionHandling().accessDeniedPage("/403")
.and()
.csrf();
}
Если вам нужно игнорировать,
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/authFailure");
}
Надеюсь, это полезно.
вы сказали, что не можете редактировать yaml. вам нужно сделать это в application.yaml?
свойство уже определено в yaml. Мне просто нужно изменить код. Не переопределять, просто изменить, добавив значения
конкретно какое значение? В идеале Spring Security будет автоматически настроен. Вам нужно переопределить HttpSecurity или WebSecurity, если вам нужно исключить или игнорировать какой-либо шаблон URL.
@ Мебин Джо, я тебя понял. Я бы отметил этот вопрос как запутанный, поскольку он говорит, что не может редактировать yaml, но хочет, чтобы он был настроен в yaml. И действительно, программно игнорируя URL-адреса, вы делаете это с переопределением метода, настраиваемого с помощью web.ignoring.antmatchers .......
@Merv Да. в некотором роде. voipp заминусовал мой ответ. Не могу определить, каково его фактическое требование.
Вы, кажется, не поняли, что я написал: я хочу отредактировать свойство security.config, которое было определено в yaml. Опять таки. Я не хочу его переопределять, просто добавлю в существующий yaml