2017-05-17 3 views
0

구성 스프링 부팅에 큰 문제가 있습니다. 내 응용 프로그램에서는 인증에 XSRF-TOKEN을 사용합니다.스프링 부트 XSRF-TOKEN ssl (https) 구성을 구성하는 방법

  http.httpBasic().and() 
       .formLogin().loginPage("/login").and() 
       .authorizeRequests() 
       .antMatchers(
         "/index_orange.html", 
         "/index.html", 
         "/databases.html", 
         "/crm.html", 
         "/price.html", 
         "/var/www/download" 
       ) 
       .permitAll() 
       .antMatchers("/admin/**").hasRole("ADMIN") 
       .antMatchers("/user/**").hasRole("USER") 
       .anyRequest().authenticated().and() 
       .requiresChannel() 
       .csrf().ignoringAntMatchers("/registerform","/newpassblue","/getPaymentNotification") 
       .csrfTokenRepository(csrfTokenRepository()).and() 
       .addFilterBefore(csrfHeaderFilter(), SessionManagementFilter.class); 

인증은 잘 작동하지만 SSL (HTTPS)을 어떻게 추가 할 수 있습니까?

rereiresChannel()을 사용해야하지만이 연결은 컴파일 오류가 발생합니다.

내 globalUserDetails는 :

 @Autowired 
    public void globalUserDetails(AuthenticationManagerBuilder auth) throws Exception { 
     auth 
       .jdbcAuthentication() 
       .dataSource(securityDataSource) 
       .usersByUsernameQuery(USER_BY_EMAILS) 
       .authoritiesByUsernameQuery(AUTHORIZATION_BY_EMAILS) 
       .passwordEncoder(new ShaPasswordEncoder(512)); 

    } 

내 특성 파일 :

server: 
    port: 8083 
    ssl: 
     enabled: true 
     key-alias: tomcat 
     key-store: keystore.p12 
     key-store-password: "*****" 
logging: 
    path: /var/log/gateway2 
    level: 
     org.springframework.security: INFO 
security: 
    sessions: ALWAYS 
zuul: 
    routes: 
     front: 
      url: http://192.168.14.73:8080/ui-web 
     backend: 
      url: http://192.168.14.63:8180/idbms-web 
     backend2: 
      url: http://192.168.14.50:8080/itdjg-mcalendar-ui 
     crm: 
      url: http://192.168.14.73:8080/ui-web/crm 
     bazy-danych: 
      url: http://192.168.14.73:8080/ui-web 
spring: 
    mvc: 
     view: 
      prefix: /WEB-INF/jsp/ 
      suffix: .jsp 

답변

0

를 추가하고()후 requiresChannel(). 그러나 나는 당신이 ssl로 봄 부팅 응용 프로그램을 시작해야 할 것입니다 생각합니다.

keystore.jks를 빌드하고 다음 인수를 사용하여 응용 프로그램을 실행하거나 application.properties에 추가하십시오.

--server.port=443 --server.ssl.key-store=classpath:keystore.jks --server.ssl.key-store-password=<password> --server.ssl.key-password=<password> 
관련 문제