Browse Source

配合qmth-boot修改鉴权配置

luoshi 4 years ago
parent
commit
3faae7023f

+ 15 - 0
api-demo/src/main/java/com/qmth/demo/api/ApiDemoApplication.java

@@ -1,9 +1,14 @@
 package com.qmth.demo.api;
 
+import com.qmth.boot.core.security.service.CustomizeAuthorizationService;
+import com.qmth.demo.api.auth.DemoAuthorizationService;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.context.annotation.Bean;
+
+import javax.annotation.Resource;
 
 /**
  * api demo application
@@ -13,6 +18,16 @@ import org.springframework.cache.annotation.EnableCaching;
 @MapperScan("com.qmth.demo.*")
 public class ApiDemoApplication {
 
+    @Resource
+    private DemoAuthorizationService demoAuthorizationService;
+
+    @Bean
+    public CustomizeAuthorizationService customizeAuthorizationService() {
+        return registration -> {
+            registration.setDefault(demoAuthorizationService);
+        };
+    }
+
     public static void main(String[] args) {
         SpringApplication.run(ApiDemoApplication.class, args);
     }

+ 0 - 15
api-demo/src/main/java/com/qmth/demo/api/auth/DemoAuthenticationService.java

@@ -1,15 +0,0 @@
-package com.qmth.demo.api.auth;
-
-import com.qmth.boot.core.security.model.AccessEntity;
-import com.qmth.boot.core.security.service.AuthenticationService;
-import com.qmth.boot.tools.signature.SignatureType;
-import org.springframework.stereotype.Component;
-
-@Component
-public class DemoAuthenticationService implements AuthenticationService {
-
-    @Override
-    public AccessEntity findByIdentity(String identity, SignatureType type) {
-        return new DemoSession(identity, "token");
-    }
-}

+ 19 - 0
api-demo/src/main/java/com/qmth/demo/api/auth/DemoAuthorizationService.java

@@ -0,0 +1,19 @@
+package com.qmth.demo.api.auth;
+
+import com.qmth.boot.core.security.service.AuthorizationService;
+import com.qmth.boot.tools.signature.SignatureType;
+import org.springframework.stereotype.Component;
+
+@Component
+public class DemoAuthorizationService implements AuthorizationService<DemoSession> {
+
+    @Override
+    public DemoSession findByIdentity(String identity, SignatureType type, String path) {
+        return new DemoSession(identity, "123456");
+    }
+
+    @Override
+    public boolean hasPermission(DemoSession accessEntity, String path) {
+        return true;
+    }
+}

+ 10 - 0
api-demo/src/main/java/com/qmth/demo/api/auth/DemoSession.java

@@ -34,4 +34,14 @@ public class DemoSession implements AccessEntity {
     public String getSecret() {
         return token;
     }
+
+    @Override
+    public String[] getAllowIP() {
+        return null;
+    }
+
+    @Override
+    public String[] getDenyIP() {
+        return null;
+    }
 }

+ 17 - 0
api-demo/src/test/java/com/qmth/demo/api/SignatureTest.java

@@ -0,0 +1,17 @@
+package com.qmth.demo.api;
+
+import com.qmth.boot.tools.signature.SignatureEntity;
+import com.qmth.boot.tools.signature.SignatureType;
+import org.junit.Test;
+
+public class SignatureTest {
+
+    @Test
+    public void test() {
+        long time = System.currentTimeMillis();
+        System.out.println(SignatureEntity
+                .build(SignatureType.SECRET, "post", "/api/open/org/query", time, "fffffffff2f336e3fffffffffcf28f97",
+                        "gYLgjG4JBO8OfJmNoa4AgdieSLToRv5Y"));
+        System.out.println(time);
+    }
+}