Ver Fonte

jsonp测试ok

NorthLan há 6 anos atrás
pai
commit
433ca62450

+ 9 - 2
build.gradle

@@ -1,6 +1,6 @@
 allprojects {
-    group 'com.gxzc.zen'
-    version '1.0-SNAPSHOT'
+    group "com.gxzc.zen"
+    version "1.0-SNAPSHOT"
 }
 
 buildscript {
@@ -27,6 +27,7 @@ buildscript {
         pinyin4j_version = '2.5.1'
         kisso_version = '3.6.13'
         caffeine_version = '2.6.1'
+        shiro_version = '1.4.0'
     }
     repositories {
         mavenCentral()
@@ -70,6 +71,12 @@ subprojects {
 
         testCompile("junit:junit:$junit_version")
 
+        // session
+        // compile('org.springframework.session:spring-session-data-redis')
+
+        // shiro
+        // compile('org.apache.shiro:shiro-spring:$shiro_version')
+
         // commons
         compile("commons-io:commons-io:$commons_io_version")
         compile("org.apache.commons:commons-lang3:$commons_lang3_version")

+ 2 - 2
gradle/wrapper/gradle-wrapper.properties

@@ -1,6 +1,6 @@
-#Thu Mar 29 09:40:30 CST 2018
+#Sat Apr 21 14:39:06 CST 2018
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip

+ 6 - 6
zen-api/src/main/kotlin/com/gxzc/zen/umps/config/CORSFilter.kt

@@ -17,14 +17,14 @@ import javax.servlet.http.HttpServletResponse
 class CORSFilter : OncePerRequestFilter() {
     override fun doFilterInternal(request: HttpServletRequest, response: HttpServletResponse, filterChain: FilterChain) {
         response.let {
-            it.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"))
-            it.setHeader("Access-Control-Allow-Credentials", "true")
-            it.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE")
-            it.setHeader("Access-Control-Max-Age", "3600")
-            it.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
+            it.addHeader("Access-Control-Allow-Origin", request.getHeader("Origin"))//request.getHeader("Origin")
+            it.addHeader("Access-Control-Allow-Credentials", "true")
+            it.addHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH")
+            it.addHeader("Access-Control-Max-Age", "3600")
+            it.addHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
             val method = HttpMethod.valueOf(request.method)
             if (method == HttpMethod.POST || method == HttpMethod.PUT) {
-                it.setHeader("Access-Control-Expose-Headers", "Location")
+                it.addHeader("Access-Control-Expose-Headers", "Location")
             }
         }
 

+ 1 - 0
zen-web/src/main/kotlin/com/gxzc/zen/MainApplication.kt

@@ -7,6 +7,7 @@ import org.springframework.boot.web.support.SpringBootServletInitializer
 
 
 @SpringBootApplication//(exclude = [])
+//@EnableRedisHttpSession
 class MainApplication : SpringBootServletInitializer() {
     override fun configure(builder: SpringApplicationBuilder?): SpringApplicationBuilder? {
         return builder?.sources(MainApplication::class.java)

+ 31 - 0
zen-web/src/main/kotlin/com/gxzc/zen/web/sys/controller/JsonpTest.kt

@@ -0,0 +1,31 @@
+package com.gxzc.zen.web.sys.controller
+
+import com.baomidou.kisso.annotation.Action
+import com.baomidou.kisso.annotation.Login
+import com.gxzc.zen.common.util.HttpUtil
+import lombok.extern.slf4j.Slf4j
+import org.springframework.http.ResponseEntity
+import org.springframework.web.bind.annotation.ControllerAdvice
+import org.springframework.web.bind.annotation.GetMapping
+import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.servlet.mvc.method.annotation.AbstractJsonpResponseBodyAdvice
+import javax.servlet.http.Cookie
+
+/**
+ *
+ * @author NorthLan
+ * @date 2018/4/20
+ * @url https://noahlan.com
+ */
+@ControllerAdvice
+@RequestMapping("/jsonp")
+@Slf4j
+class JsonpTest : AbstractJsonpResponseBodyAdvice("callback") {
+
+    @GetMapping("getCookie")
+    @Login(action = Action.Skip)
+    fun getCookie(): ResponseEntity<*> {
+
+        return ResponseEntity.ok(HttpUtil.getRequest().cookies)
+    }
+}

+ 31 - 7
zen-web/src/main/kotlin/com/gxzc/zen/web/sys/controller/TestController.kt

@@ -19,7 +19,6 @@ import com.gxzc.zen.common.dto.RequestDto
 import com.gxzc.zen.orm.annotation.ZenTransactional
 import com.xxl.job.core.biz.AdminBiz
 import com.xxl.job.core.rpc.netcom.NetComClientProxy
-import org.slf4j.LoggerFactory
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.core.io.InputStreamResource
 import org.springframework.core.io.Resource
@@ -69,6 +68,8 @@ class TestController : BaseController() {
     @GetMapping("logicSelect")
     @Login(action = Action.Skip)
     fun testLogicSelect() {
+        val cookies = getRequest().cookies
+        println(cookies)
 //        sysDicService.selectList(null)
     }
 
@@ -183,12 +184,35 @@ class TestController : BaseController() {
 //        val path = getRequest().requestURL.replace(Regex(getRequest().requestURI), "")
 //        println(path)
 //        getResponse().sendRedirect("http://sys.zen.com/sys/#/dashboard")
-        val a = getRequest().cookies
-        println(a)
-        getResponse().addCookie(Cookie("hsdkhfjsdhfkjsdf", "Setset"))
-        getResponse().addCookie(Cookie("test", "Setset").apply {
-            this.domain = "sys.zen.com"
+//        val a = getRequest().cookies
+//        println(a)
+//        getResponse().addCookie(Cookie("hsdkhfjsdhfkjsdf", "Setset"))
+//        getResponse().addCookie(Cookie("test", "Setset").apply {
+//            this.domain = "sys.zen.com"
+//        })
+//        getResponse().sendRedirect("http://192.168.1.213:8082/test/testpermission1")
+//        getRequest().session.setAttribute("test", "test")
+        getRequest().session.getAttribute("test")
+    }
+
+    @GetMapping("getCookie")
+    @Login(action = Action.Skip)
+    fun getCookie(): ResponseEntity<*> {
+        val cookies = getRequest().cookies
+        var ret = Cookie("default", "1")
+        if (cookies.isNotEmpty()) {
+            ret = cookies[0]
+            println(ret.toString())
+        }
+        return ResponseEntity.ok(ret)
+    }
+
+    @GetMapping("setCookie")
+    @Login(action = Action.Skip)
+    fun setCookie() {
+        getResponse().addCookie(Cookie("set", "aaaaaa").apply {
+            domain = "test.com"
+            path = "/"
         })
-        getResponse().sendRedirect("http://192.168.1.213:8082/test/testpermission1")
     }
 }

+ 8 - 4
zen-web/src/main/resources/application-cache.yml

@@ -6,14 +6,18 @@ spring:
     caffeine:
       spec:
   redis:
+    database: 0 # redis数据库索引
     host: 192.168.1.10
     port: 6379
     password:
+    timeout: 5000 # 连接超时时间(毫秒)
     pool:
-      min-idle: 1
-      max-idle: 20
-      max-active: 20
-      max-wait: -1
+      min-idle: 1 # 连接池中的最小空闲连接
+      max-idle: 20 # 连接池中的最大空闲连接
+      max-active: 20 # 连接池最大连接数(使用负值表示没有限制)
+      max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+
+
 
 cache:
   caffeine:

+ 3 - 0
zen-web/src/main/resources/application.yml

@@ -28,6 +28,9 @@ spring:
   jackson:
     deserialization:
       fail-on-unknown-properties: false # 多余字段反序列化过滤
+  session:
+    store-type: redis
+
 logging:
   level:
     root: info

+ 1 - 1
zen-web/src/main/resources/properties/sso.properties

@@ -5,4 +5,4 @@ sso.cookie.domain=zen.com
 sso.cookie.httponly=false
 
 #sso.cookie.maxage=7200
-sso.login.url=http://home.zen.com/#/login
+#sso.login.url=http://home.zen.com/#/login