Browse Source

添加接口鉴权开关

panlinlin 4 years ago
parent
commit
689d7c0cc4

+ 19 - 10
src/main/java/com/genersoft/iot/vmp/conf/security/WebSecurityConfig.java

@@ -1,6 +1,7 @@
 package com.genersoft.iot.vmp.conf.security;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.security.authentication.AuthenticationManager;
@@ -21,6 +22,9 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 @EnableGlobalMethodSecurity(prePostEnabled = true)
 public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
 
+    @Value("${userSettings.interfaceAuthentication}")
+    private boolean interfaceAuthentication;
+
     @Autowired
     private DefaultUserDetailsServiceImpl userDetailsService;
     /**
@@ -66,16 +70,21 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
      **/
     @Override
     public void configure(WebSecurity web) {
-        // 可以直接访问的静态数据
-        web.ignoring()
-                .antMatchers("/")
-                .antMatchers("/static/**")
-                .antMatchers("/index.html")
-                .antMatchers("/doc.html") // "/webjars/**", "/swagger-resources/**", "/v3/api-docs/**"
-                .antMatchers("/webjars/**")
-                .antMatchers("/swagger-resources/**")
-                .antMatchers("/v3/api-docs/**")
-                .antMatchers("/js/**");
+
+        if (!interfaceAuthentication) {
+            web.ignoring().antMatchers("**");
+        }else {
+            // 可以直接访问的静态数据
+            web.ignoring()
+                    .antMatchers("/")
+                    .antMatchers("/static/**")
+                    .antMatchers("/index.html")
+                    .antMatchers("/doc.html") // "/webjars/**", "/swagger-resources/**", "/v3/api-docs/**"
+                    .antMatchers("/webjars/**")
+                    .antMatchers("/swagger-resources/**")
+                    .antMatchers("/v3/api-docs/**")
+                    .antMatchers("/js/**");
+        }
     }
 
     /**

+ 2 - 0
src/main/resources/application-dev.yml

@@ -104,6 +104,8 @@ userSettings:
     playTimeout: 3000
     # 等待音视频编码信息再返回, true: 可以根据编码选择合适的播放器,false: 可以更快点播
     waitTrack: false
+    # 是否开启接口鉴权
+    interfaceAuthentication: true
 
 # 在线文档: swagger-ui(生产环境建议关闭)
 springfox: