Я пытаюсь убедиться, что API можно получить только из браузеров без входа. Чтобы получить файл cookie, который используется для аутентификации пользователя и предоставления идентификатора сеанса, который бэкэнд возвращается на фронт. Позже все API называются с помощью этого. Но когда я воспроизвел это в Spring Boot, я могу достичь того же, но когда я скопирую завиток, он загружает данные. Если я изменю один заголовок, он блокируется автоматически, но я не могу понять, как приведенный выше закрепленный сайт может сделать это.@Configuration
@EnableWebSecurity
public class SecurityConfig {
private final SessionFilter sessionFilter;
public SecurityConfig(SessionFilter sessionFilter) {
this.sessionFilter = sessionFilter;
}
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.csrf(csrf -> csrf.disable())
.cors(cors -> {}) // enable CORS handling
.authorizeHttpRequests(auth -> auth
.requestMatchers("/auth/browser-handshake").permitAll()
.requestMatchers("/v1/search/**").authenticated()
.anyRequest().denyAll()
)
.addFilterBefore(sessionFilter, UsernamePasswordAuthenticationFilter.class);
return http.build();
}
}
< /code>
И теперь он бросает 403. Если я разрешу, то он будет доступен через почтальон или терминал. Как с этим справиться.
Подробнее здесь: https://stackoverflow.com/questions/797 ... in-request
Как обеспечить API -интерфейсы от запроса Cross Origin? ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1758452847
Anonymous
Я пытаюсь убедиться, что API можно получить только из браузеров без входа. Чтобы получить файл cookie, который используется для аутентификации пользователя и предоставления идентификатора сеанса, который бэкэнд возвращается на фронт. Позже все API называются с помощью этого. Но когда я воспроизвел это в Spring Boot, я могу достичь того же, но когда я скопирую завиток, он загружает данные. Если я изменю один заголовок, он блокируется автоматически, но я не могу понять, как приведенный выше закрепленный сайт может сделать это.@Configuration
@EnableWebSecurity
public class SecurityConfig {
private final SessionFilter sessionFilter;
public SecurityConfig(SessionFilter sessionFilter) {
this.sessionFilter = sessionFilter;
}
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.csrf(csrf -> csrf.disable())
.cors(cors -> {}) // enable CORS handling
.authorizeHttpRequests(auth -> auth
.requestMatchers("/auth/browser-handshake").permitAll()
.requestMatchers("/v1/search/**").authenticated()
.anyRequest().denyAll()
)
.addFilterBefore(sessionFilter, UsernamePasswordAuthenticationFilter.class);
return http.build();
}
}
< /code>
И теперь он бросает 403. Если я разрешу, то он будет доступен через почтальон или терминал. Как с этим справиться.
Подробнее здесь: [url]https://stackoverflow.com/questions/79769674/how-to-secure-apis-from-cross-origin-request[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия