小编Ani*_*war的帖子

Spring Cloud Zuul API 网关不会为无状态会话转发 JWT 令牌

我正在尝试使用Spring Boot 1.5.6.RELEASESpring Cloud Dalston.SR3来实现微服务架构后端,它们将由移动/Web 端点使用。

API网关应用

@SpringBootApplicatio
@EnableEurekaClient
@EnableZuulProxy
public class GatewayApplication {

    public static void main(String[] args) {
         SpringApplication.run(GatewayApplication.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

接口安全

@Configuration
@EnableWebSecurity
@Order(ManagementServerProperties.ACCESS_OVERRIDE_ORDER)
@EnableOAuth2Sso
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(HttpSecurity http) throws Exception {

        // @formatter:off
        http
            .sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
            .and()
                .authorizeRequests()
                    .antMatchers("/sign-up", "/login")
                        .permitAll()
                .anyRequest()
                    .authenticated()
            .and()
                .csrf()
                    .ignoringAntMatchers("/sign-up", "/login")
                    .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());
        // @formatter:on
    }
}
Run Code Online (Sandbox Code Playgroud)

Gradle 安全相关的依赖项

   // Spring OAuth2 security
    compile("org.springframework.boot:spring-boot-starter-security")
    compile("org.springframework.security.oauth:spring-security-oauth2")
    compile("org.springframework.cloud:spring-cloud-starter-oauth2")
    compile("org.springframework.security:spring-security-jwt")
Run Code Online (Sandbox Code Playgroud)

祖尔路线

zuul: …
Run Code Online (Sandbox Code Playgroud)

spring-boot spring-security-oauth2 netflix-zuul spring-cloud-netflix

4
推荐指数
1
解决办法
6811
查看次数