Должен ли я отключить CORS в весеннем бэкэнде? Неназванный запрос заблокирован - PullRequest
0 голосов
/ 12 января 2020

Я работаю над проектом с пружинной загрузкой и Vue, мне нужно защитить свои конечные точки. У пользователя будет указана c роль, роль администратора или типичная роль пользователя. Когда я ищу учебники по настройке JWT и Spring Security, я получаю статьи с отключенными cors только на cors().disable(). И это мой вопрос. Могу ли я отправить запрос из моего фронтального Vue приложения через ax ios, если cors в весеннем бэкэнде отключен? Это правильный подход, чтобы отключить его? Многие мои запросы от api были заблокированы cors, поэтому я включил его, но я не реализовал роли пользователей, и это сбило меня с толку, что делать сейчас, потому что я должен это делать ... Еще одна проблема, когда я реализовал httpSecurity.csrf().disable().authorizeRequests().antMatchers("/authenticate", "/register","/login").permitAll(). и попытался позвонить / аутентифицироваться с другого устройства в той же сети, а затем заблокировал его, но он не должен быть заблокирован .. На верхней панели контроллера у меня есть @CrossOrigin(origins="*", maxAge=3600) и @RestController, поэтому я не знаю, почему мой запрос заблокирован , Помогите мне, пожалуйста, если у вас есть идеи. С наилучшими пожеланиями!

1 Ответ

0 голосов
/ 25 января 2020

Установите это в верхней части каждого контроллера

@CrossOrigin(origins = "*") 
@RestController

И установите код в SecuriyConfig следующим образом. У меня это сработало.

httpSecurity.cors()
            .and()
            .csrf()
            .disable()
            .exceptionHandling()
            .authenticationEntryPoint(jwtAuthenticationEntryPoint)
            .and()
            .sessionManagement()
            .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
            .and()
            .authorizeRequests()
            .antMatchers("/",
                    "/favicon.ico",
                    "/**/*.png",
                    "/**/*.ttf",
                    "/**/*.woff",
                    "/**/*.woff2",
                    "/**/*.gif",
                    "/**/*.svg",
                    "/**/*.jpg",
                    "/**/*.jpeg",
                    "/**/*.html",
                    "/**/*.css",
                    "/**/*.js")
            .permitAll()
            .antMatchers("/authenticate", "/register","/login")
            .permitAll()
            .antMatchers(HttpMethod.OPTIONS, "/**")
            .permitAll()
            .anyRequest()
            .authenticated();
...