Я не предоставляю никакой конфигурации 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://локальный:8080/v1/транспортные средства его перенаправление на страницу входа. он должен запрашивать фактический запрос.
@Vikas, возможно, вам придется удалить зависимость безопасности
Возможный дубликат Spring Boot 2.0.x отключает безопасность для определенного профиля




Согласно Документация по весенней безопасности, класс 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
}
}
Если вы хотите отключить временную защиту Spring, добавьте аннотацию @SpringBootApplication(exclude = {SecurityAutoConfiguration.class}) в основной класс Spring.
@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.
Удалить Spring Security? Единственным другим способом было бы правильно настроить его, а не загружать значения по умолчанию.