powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Security WebSecurityConfigurerAdapter не срабатывает Order
6 сообщений из 6, страница 1 из 1
Spring Security WebSecurityConfigurerAdapter не срабатывает Order
    #40127379
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, требуется небольшая подсказка от профи. ))

Хочу сконфигурировать Spring Security так чтоб на /api/** /api2/** была одна аутентификация, для всего другого другая, все другие Rest-ы закрыты.

Это должно регулироваться параметром @Order - так вот, у меня почему-то срабатывате только 1 Order - если меняю местами Order то работает или та или другая конфигурация в зависимости где стоит 1.

А мне нужно, чтоб применялось так как в Order. тоесть чтоб спринг проверял пути в соответствии с Order, и если не найдёт, то чтоб последний Order проводил автентификацию, такой себе default for all.

Что я упустил и почему у меня при данной конфигурации не срабатывает Order(2)? Зашищены только /api/** /api2/** - все другие Rest-ы открыты.

Код: 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.
@EnableWebSecurity(debug = true)
@Configuration
public class WebSecurityConfig {

    @Configuration
    @Order(1)
    static class DefaultWebSecurityConfig extends WebSecurityConfigurerAdapter {

        @Autowired
        private MyBasicAuthenticationEntryPoint authenticationEntryPoint;

        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.authorizeRequests()
                    .antMatchers("/api/**", "/api2/**").authenticated()
                    .and()
                    .httpBasic()
                    .authenticationEntryPoint(authenticationEntryPoint);
        }
    }

    @Configuration
    @Order(2)
    static class DefaultWebSecurityConfig2 extends WebSecurityConfigurerAdapter {

        @Autowired
        private MyAuthenticationProvider myAuthenticationProvider;


        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http
                    .authorizeRequests()
                    .anyRequest().authenticated()
                    .and()
                    .addFilterBefore(new UserAuthenticationFilter(authenticationManager()), UsernamePasswordAuthenticationFilter.class)
                    .authenticationProvider(myAuthenticationProvider)
                    .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER)
                    .and()
                    .cors().and()
                    .csrf().disable()
                    .exceptionHandling().authenticationEntryPoint(unauthorizedEntryPoint());
        }

        @Override
        public void configure(WebSecurity web) {
            web.ignoring()
                    .antMatchers(HttpMethod.GET, "/", "/login", "/signup"); //,"/**"
        }


        @Bean
        public AuthenticationEntryPoint unauthorizedEntryPoint() {
            return (request, response, authException) -> response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
        }
    }

}



Спасибо!
...
Рейтинг: 0 / 0
Spring Security WebSecurityConfigurerAdapter не срабатывает Order
    #40127384
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_,
Для веб приложения одна аутентификация.
А ты что захотел?
...
Рейтинг: 0 / 0
Spring Security WebSecurityConfigurerAdapter не срабатывает Order
    #40127385
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
_webdev_,
Для веб приложения одна аутентификация.
А ты что захотел?
- Да, но возможна с разными настройками к отдельным Rest.
https://docs.spring.io/spring-security/site/docs/4.2.x/reference/htmlsingle/#multiple-httpsecurity
...
Рейтинг: 0 / 0
Spring Security WebSecurityConfigurerAdapter не срабатывает Order
    #40127395
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_,
Я так понял что по ссылке
my.ru/app/order/1223w2
my.ru/app/api/....
Сделай такие пути. Работает?
...
Рейтинг: 0 / 0
Spring Security WebSecurityConfigurerAdapter не срабатывает Order
    #40127408
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
_webdev_,
Я так понял что по ссылке
my.ru/app/order/1223w2
my.ru/app/api/....
Сделай такие пути. Работает?


Хммм, если во второй конфигурации Order(2) меняю строчки на такие, то работает только для установленных паттернов, но не для остальных. Тоесть работатет автентификация и api и tasks.

Код: java
1.
2.
3.
4.
5.
6.
7.
            http
                    .antMatcher("/tasks/**")
                    .authorizeRequests()
//                    .authenticated()
                    .anyRequest().authenticated()
//                    .anonymous().and()
                    .and()
...
Рейтинг: 0 / 0
Spring Security WebSecurityConfigurerAdapter не срабатывает Order
    #40127413
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хммм, кажется решилось.
Если во втором Order(2)
Пишу так, то все другие реквесты идут через эту конфигурацию.

Код: java
1.
2.
3.
4.
            http
                    .antMatcher("/**")
                    .authorizeRequests()
                    .anyRequest().authenticated()



Добавляю Order(3) Также работате как надо. Кажется работает как надо.
Может знатоки подтвердят, что такая конфигурация корректная.
Спасибо.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Security WebSecurityConfigurerAdapter не срабатывает Order
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]