отключить базовую аутентификацию на статическом контенте с помощью Spring Security - PullRequest
0 голосов
/ 15 сентября 2018

У меня угловое приложение, которое служит статическим контентом из приложения с весенней загрузкой. Угловое приложение находится внутри target / classes / static / index.html весеннего загрузочного приложения. У меня также есть api rest, загруженный из весенней загрузки, и для него должна быть включена базовая аутентификация. Я настроил конфигурацию безопасности, как показано ниже

@Configuration
@EnableWebSecurity
public class SecrityConfig extends WebSecurityConfigurerAdapter {

@Autowired
private AuthenticationEntryPoint authEntryPoint;

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth.inMemoryAuthentication().withUser("john123").password("password").roles("USER");
}

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.csrf().disable().authorizeRequests()
            .anyRequest().authenticated()
            .and().httpBasic()
            .authenticationEntryPoint(authEntryPoint);
}}      

Базовая аутентификация работает, как и ожидалось, для остальной конечной точки. Но когда я пытаюсь загрузить угловое приложение с локального хоста: 8080 / springbootappname / оно запрашивает учетные данные. Когда я предоставляю учетные данные, которые я настроил, загружается угловое приложение.

Итак, мне нужна помощь в отключении этой базовой аутентификации для углового приложения, которое распаковывается в классы / static /

1 Ответ

0 голосов
/ 15 сентября 2018

Вы можете управлять им несколькими способами до статического содержимого сервера.

  1. Вы можете переопределить Security для статического содержимого.

    @Override
      public void configure(WebSecurity web) throws Exception {
        web
          .ignoring()
             .antMatchers("/target/classes/static/**");
      }
    
  2. Вы можете даже управлять им в переопределении безопасности http с помощью соответствующего antmacher.

    @Override
    protected void configure(HttpSecurity http) throws Exception {
    http.csrf().disable().authorizeRequests()
            .antMatchers("/target/classes/static/**").permitAll()
            .anyRequest().authenticated()
            .and().httpBasic()
            .authenticationEntryPoint(authEntryPoint);
    }
    
  3. Лучше управлять статическим контентом из ресурсов. См. Ссылку

https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot

...