Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для MrEnthropia
0 / 0 / 0
Регистрация: 16.12.2024
Сообщений: 11

Как убрать ошибку 403 в веб-приложении Java

27.03.2025, 14:58. Показов 1546. Ответов 2

Студворк — интернет-сервис помощи студентам
Добрый день. Я делаю crud-приложение на java, и столкнулся с тем что при выполнении метода POST у меня на странице выползает ошибка 403. Я где то вычитал что это связано с настройками доступа в Spring Security, который я тоже использую. Я добавил в него метод разрешающий метод POST. Но ситуацию это не исправила. Если есть, кто сталкивался с таким, помогите найти решение. Спасибо.
Вот моя конфигурация SpringSecurity:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package ru.MrEnthropia.Azurite.controllers;
 
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpMethod;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
import org.springframework.security.web.SecurityFilterChain;
 
@Configuration
@EnableWebSecurity
public class SecurityConfig{
 
    @Value("${app.security.admin.username}")
    private String adminUsername;
 
    @Value("${app.security.admin.password}")
    private String adminPassword;
 
    @Value("${app.security.user.username}")
    private String userUsername;
 
    @Value("${app.security.user.password}")
    private String userPassword;
 
    @Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        http
                .authorizeHttpRequests(auth -> auth
                        .requestMatchers("/instructions", "/view").hasAnyRole("ADMIN", "USER") // Доступ для админа и юзера
                        .requestMatchers(HttpMethod.POST, "/add-log").hasAnyRole("ADMIN", "USER")
                        .requestMatchers("/edit/**", "/delete/**").hasRole("ADMIN")
                        .anyRequest().authenticated() // Все остальные страницы требуют аутентификации
                )
                .formLogin(login -> login
                        .defaultSuccessUrl("/", true) // После входа — на главную
                        .permitAll()
                )
                .logout(logout -> logout
                        .logoutUrl("/logout")
                        .logoutSuccessUrl("/login?logout")
                        .permitAll()
                );
 
        return http.build();
    }
 
    @Bean
    public UserDetailsService userDetailsService() {
        UserDetails admin = User.builder()
                .username(adminUsername)
                .password(passwordEncoder().encode(adminPassword)) // Пароль зашифрован!
                .roles("ADMIN")
                .build();
 
        UserDetails user = User.builder()
                .username(userUsername)
                .password(passwordEncoder().encode(userPassword)) // Пароль зашифрован!
                .roles("USER")
                .build();
 
        return new InMemoryUserDetailsManager(admin, user); 
    }
 
    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.03.2025, 14:58
Ответы с готовыми решениями:

Ошибка reference to List is ambiguous; both interface java.util.List in package java.util and class java.awt.List in...
Почему кгда я загружаю пакеты awt, utill вместе в одной проге при обьявлении елемента List я ловлю такую ошибку. 'listTest.java':...

ошибка при создании приложения Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.net.URL.to
Ошибка: C:\Users\kozna\.jdks\openjdk-16\bin\java.exe "-javaagent:D:\IntelliJ IDEA Community Edition...

Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ?
Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ? Ответье, плиз, новичку, по MSDN я не понятно, это исключительно...

2
 Аватар для vvm28
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26
02.04.2025, 08:07
Может это поможет:

Spring Security — настройка страницы 403 Forbidden/Access Denied
0
1 / 1 / 0
Регистрация: 29.12.2025
Сообщений: 6
29.12.2025, 22:39
Если запрос выполняется в окне браузера и сообщает от ошибке можно проверить:

1. Аутендификация. Были ли переданы кукисы с ключем пользователя, который зашел в систему. Возможно код ошибки 403 в этом случае перепутан с 401.

Цитата Сообщение от MrEnthropia Посмотреть сообщение
Я добавил в него метод разрешающий метод POST.
Вы не добавили разрешения на метод POST - Вы запретили любой метод эндпоинта, кроме метода POST.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.12.2025, 22:39
Помогаю со студенческими работами здесь

Exception in thread "main" java.lang.IllegalArgumentException: illegal component position at java.desktop/java.awt.Cont
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class...

Создать Windows приложение на Java в NetBeans (Java Desktop Application)
Здравствуйте. Хочу создать Windows-приложение на Java с помощью NetBeans 7.3. При создании нового проекта в подразделе «Java» должен быть...

Изменение шрифтов (хотя бы размер) в Java для отображения Java-приложений в Windows
здравствуйте! подскажите, пожалуйста, есть ли возможность через некие твики или патчи самой Java для Windows или же твики самой Windows...

Многопоточное приложение на Java (Java Thread)
Дано было такое задание: Выполнить приложение командной строки с двумя параметрами , один из которых – количество потоков, другой...

Чтение теста из файлов в Java. java коллекции, потоки. создать приложение, в котором будет два отдельных потока
Создайте два текстовых файла с именами, например, countries.txt и capitals.txt. В первом файле должны быть перечислены названия стран,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru