Почему приложение Spring Security перенаправляет на страницу входа, хотя мы не предоставляем конфигурацию безопасности Spring? - PullRequest
0 голосов
/ 18 мая 2019

Я не предоставляю конфигурацию Spring Security, и каждый URL-адрес запроса перенаправляется на страницу входа.Я создал приложение Spring Boot с использованием Spring Initializr с необходимой зависимостью Spring Security.

Почему оно перенаправляет каждый запрос на страницу входа?Как это отключить?

Я пытался удалить все настройки безопасности.

@SpringBootApplication
public class SpringbootJwtExampleApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootJwtExampleApplication.class, args);
    }

}

public interface VehicleRepository extends JpaRepository<Vehicle, Long> {
}


@Data
@Entity
public class Vehicle {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
}


@RestController
@RequestMapping("/v1/vehicles")
public class VehicleController {

    @Autowired
    private VehicleRepository vehicleRepository;

    @GetMapping("")
    public ResponseEntity getAll(){
        return ok(vehicleRepository.findAll());
    }
}

Когда я запрашиваю http://localhost:8080/v1/vehicles его перенаправление на страницу входа.он должен запрашивать фактический запрос.

Ответы [ 2 ]

0 голосов
/ 20 мая 2019
  • Если вы хотите отключить временную защиту пружины, добавьте аннотацию @SpringBootApplication (exclude = {SecurityAutoConfiguration.class}) в основной класс вашей пружины

    @SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
    public class DemoApplication
    {
    public static void main(String[] args)
    {
        SpringApplication.run(DemoApplication.class, args);
    }
    }
    
  • Другим решением является переопределение конфигурации по умолчанию путем расширения класс

    @Configuration
    @EnableWebSecurity
    public class BasicConfiguration extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
      //customize the configs
    }
    }
    
  • Наконец, если вам не нужна безопасность в вашем проекте, удалите зависимость безопасности Spring в файле pom.xml.

0 голосов
/ 18 мая 2019

Согласно документации Spring Security , класс WebSecurityConfigurerAdapter предоставляет следующую конфигурацию по умолчанию:

protected void configure(HttpSecurity http) throws Exception {
    http
        .authorizeRequests()
            .anyRequest().authenticated()
            .and()
        .formLogin()
            .and()
        .httpBasic();
}

Чтобы переопределить эти значения по умолчанию, напишите свой собственный WebSecurityConfig, например:

@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        // Your own rules
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...