Commit 689d7c0cc4f4dcee6c6588263f1c90eca81942e7
1 parent
5ba0fba0
添加接口鉴权开关
Showing
2 changed files
with
21 additions
and
10 deletions
src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java
| 1 | package com.genersoft.iot.vmp.conf.security; | 1 | package com.genersoft.iot.vmp.conf.security; |
| 2 | 2 | ||
| 3 | import org.springframework.beans.factory.annotation.Autowired; | 3 | import org.springframework.beans.factory.annotation.Autowired; |
| 4 | +import org.springframework.beans.factory.annotation.Value; | ||
| 4 | import org.springframework.context.annotation.Bean; | 5 | import org.springframework.context.annotation.Bean; |
| 5 | import org.springframework.context.annotation.Configuration; | 6 | import org.springframework.context.annotation.Configuration; |
| 6 | import org.springframework.security.authentication.AuthenticationManager; | 7 | import org.springframework.security.authentication.AuthenticationManager; |
| @@ -21,6 +22,9 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | @@ -21,6 +22,9 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | ||
| 21 | @EnableGlobalMethodSecurity(prePostEnabled = true) | 22 | @EnableGlobalMethodSecurity(prePostEnabled = true) |
| 22 | public class WebSecurityConfig extends WebSecurityConfigurerAdapter { | 23 | public class WebSecurityConfig extends WebSecurityConfigurerAdapter { |
| 23 | 24 | ||
| 25 | + @Value("${userSettings.interfaceAuthentication}") | ||
| 26 | + private boolean interfaceAuthentication; | ||
| 27 | + | ||
| 24 | @Autowired | 28 | @Autowired |
| 25 | private DefaultUserDetailsServiceImpl userDetailsService; | 29 | private DefaultUserDetailsServiceImpl userDetailsService; |
| 26 | /** | 30 | /** |
| @@ -66,16 +70,21 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { | @@ -66,16 +70,21 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { | ||
| 66 | **/ | 70 | **/ |
| 67 | @Override | 71 | @Override |
| 68 | public void configure(WebSecurity web) { | 72 | public void configure(WebSecurity web) { |
| 69 | - // 可以直接访问的静态数据 | ||
| 70 | - web.ignoring() | ||
| 71 | - .antMatchers("/") | ||
| 72 | - .antMatchers("/static/**") | ||
| 73 | - .antMatchers("/index.html") | ||
| 74 | - .antMatchers("/doc.html") // "/webjars/**", "/swagger-resources/**", "/v3/api-docs/**" | ||
| 75 | - .antMatchers("/webjars/**") | ||
| 76 | - .antMatchers("/swagger-resources/**") | ||
| 77 | - .antMatchers("/v3/api-docs/**") | ||
| 78 | - .antMatchers("/js/**"); | 73 | + |
| 74 | + if (!interfaceAuthentication) { | ||
| 75 | + web.ignoring().antMatchers("**"); | ||
| 76 | + }else { | ||
| 77 | + // 可以直接访问的静态数据 | ||
| 78 | + web.ignoring() | ||
| 79 | + .antMatchers("/") | ||
| 80 | + .antMatchers("/static/**") | ||
| 81 | + .antMatchers("/index.html") | ||
| 82 | + .antMatchers("/doc.html") // "/webjars/**", "/swagger-resources/**", "/v3/api-docs/**" | ||
| 83 | + .antMatchers("/webjars/**") | ||
| 84 | + .antMatchers("/swagger-resources/**") | ||
| 85 | + .antMatchers("/v3/api-docs/**") | ||
| 86 | + .antMatchers("/js/**"); | ||
| 87 | + } | ||
| 79 | } | 88 | } |
| 80 | 89 | ||
| 81 | /** | 90 | /** |
src/main/resources/application-dev.yml
| @@ -104,6 +104,8 @@ userSettings: | @@ -104,6 +104,8 @@ userSettings: | ||
| 104 | playTimeout: 3000 | 104 | playTimeout: 3000 |
| 105 | # 等待音视频编码信息再返回, true: 可以根据编码选择合适的播放器,false: 可以更快点播 | 105 | # 等待音视频编码信息再返回, true: 可以根据编码选择合适的播放器,false: 可以更快点播 |
| 106 | waitTrack: false | 106 | waitTrack: false |
| 107 | + # 是否开启接口鉴权 | ||
| 108 | + interfaceAuthentication: true | ||
| 107 | 109 | ||
| 108 | # 在线文档: swagger-ui(生产环境建议关闭) | 110 | # 在线文档: swagger-ui(生产环境建议关闭) |
| 109 | springfox: | 111 | springfox: |