You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by pe...@apache.org on 2022/08/31 10:21:06 UTC

[incubator-linkis] branch dev-1.3.1 updated: [linkis-gateway-core] Modification of scala file floating red (#3153)

This is an automated email from the ASF dual-hosted git repository.

peacewong pushed a commit to branch dev-1.3.1
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git


The following commit(s) were added to refs/heads/dev-1.3.1 by this push:
     new fd7d1a478 [linkis-gateway-core] Modification of scala file floating red (#3153)
fd7d1a478 is described below

commit fd7d1a4785ee9da19440e253971d8f7f538f6bae
Author: 成彬彬 <10...@users.noreply.github.com>
AuthorDate: Wed Aug 31 18:21:02 2022 +0800

    [linkis-gateway-core] Modification of scala file floating red (#3153)
---
 .../linkis/gateway/parser/GatewayParser.scala      |  4 ++-
 .../linkis/gateway/route/GatewayRouter.scala       |  9 ++++--
 .../linkis/gateway/security/GatewaySSOUtils.scala  | 13 +++++----
 .../linkis/gateway/security/LinkisPreFilter.scala  |  2 +-
 .../linkis/gateway/security/ProxyUserUtils.scala   |  4 +--
 .../linkis/gateway/security/SecurityFilter.scala   |  2 +-
 .../linkis/gateway/security/UserRestful.scala      | 32 ++++------------------
 .../gateway/security/sso/SSOInterceptor.scala      |  4 +--
 .../security/token/TokenAuthentication.scala       |  2 --
 9 files changed, 30 insertions(+), 42 deletions(-)

diff --git a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/parser/GatewayParser.scala b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/parser/GatewayParser.scala
index a493b61aa..91debac06 100644
--- a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/parser/GatewayParser.scala
+++ b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/parser/GatewayParser.scala
@@ -28,6 +28,8 @@ import org.apache.linkis.server.conf.ServerConfiguration
 
 import org.apache.commons.lang3.StringUtils
 
+import java.util.Locale
+
 trait GatewayParser {
 
   def shouldContainRequestBody(gatewayContext: GatewayContext): Boolean
@@ -93,7 +95,7 @@ class DefaultGatewayParser(gatewayParsers: Array[GatewayParser]) extends Abstrac
     s"/api/rest_[a-zA-Z]+/(v\\d+)/${AbstractGatewayParser.GATEWAY_HEART_BEAT_URL.mkString("/")}".r
 
   override def shouldContainRequestBody(gatewayContext: GatewayContext): Boolean =
-    gatewayContext.getRequest.getMethod.toUpperCase != "GET" &&
+    gatewayContext.getRequest.getMethod.toUpperCase(Locale.getDefault) != "GET" &&
       (gatewayContext.getRequest.getRequestURI match {
         case uri if uri.startsWith(ServerConfiguration.BDP_SERVER_USER_URI.getValue) => true
         case _ => gatewayParsers.exists(_.shouldContainRequestBody(gatewayContext))
diff --git a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/route/GatewayRouter.scala b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/route/GatewayRouter.scala
index 3bd724988..1439d7761 100644
--- a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/route/GatewayRouter.scala
+++ b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/route/GatewayRouter.scala
@@ -31,6 +31,7 @@ import org.apache.commons.lang3.StringUtils
 import org.apache.commons.lang3.exception.ExceptionUtils
 
 import java.util
+import java.util.Locale
 
 trait GatewayRouter {
 
@@ -88,7 +89,10 @@ abstract class AbstractGatewayRouter extends GatewayRouter with Logging {
       tooManyDeal: List[String] => Option[String]
   ): Option[String] = {
     val services = SpringCloudFeignConfigurationCache.getDiscoveryClient.getServices
-      .filter(_.toLowerCase.contains(parsedServiceId.toLowerCase))
+      .filter(
+        _.toLowerCase(Locale.getDefault())
+          .contains(parsedServiceId.toLowerCase(Locale.getDefault()))
+      )
       .toList
     if (services.length == 1) Some(services.head)
     else if (services.length > 1) tooManyDeal(services)
@@ -147,8 +151,9 @@ class DefaultGatewayRouter(var gatewayRouters: Array[GatewayRouter])
     for (router <- gatewayRouters if serviceInstance == null) {
       serviceInstance = router.route(gatewayContext)
     }
-    if (serviceInstance == null)
+    if (serviceInstance == null) {
       serviceInstance = gatewayContext.getGatewayRoute.getServiceInstance
+    }
     val service = findAndRefreshIfNotExists(
       serviceInstance.getApplicationName,
       findCommonService(serviceInstance.getApplicationName)
diff --git a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/GatewaySSOUtils.scala b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/GatewaySSOUtils.scala
index fb692c3a5..7bce0fe40 100644
--- a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/GatewaySSOUtils.scala
+++ b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/GatewaySSOUtils.scala
@@ -26,12 +26,12 @@ import org.apache.linkis.server.security.SecurityFilter._
 
 import javax.servlet.http.Cookie
 
-import scala.collection.JavaConversions._
+import scala.collection.JavaConverters._
 
 object GatewaySSOUtils extends Logging {
 
   private def getCookies(gatewayContext: GatewayContext): Array[Cookie] =
-    gatewayContext.getRequest.getCookies.flatMap(_._2).toArray
+    gatewayContext.getRequest.getCookies.asScala.flatMap(_._2).toArray
 
   private val DOMAIN_REGEX = "[a-zA-Z][a-zA-Z0-9\\.]+".r
   private val IP_REGEX = "([^:]+):.+".r
@@ -90,10 +90,11 @@ object GatewaySSOUtils extends Logging {
       c => {
         if (cookieDomainSetupSwitch) {
           val host = gatewayContext.getRequest.getHeaders.get("Host")
-          if (host != null && host.nonEmpty)
+          if (host != null && host.nonEmpty) {
             c.setDomain(
               getCookieDomain(host.head, GatewayConfiguration.GATEWAY_DOMAIN_LEVEL.getValue)
             )
+          }
         }
         gatewayContext.getResponse.addCookie(c)
       },
@@ -107,11 +108,13 @@ object GatewaySSOUtils extends Logging {
   }
 
   def removeLoginUser(gatewayContext: GatewayContext): Unit = {
-    SSOUtils.removeLoginUser(gatewayContext.getRequest.getCookies.flatMap(_._2).toArray)
+    SSOUtils.removeLoginUser(gatewayContext.getRequest.getCookies.asScala.flatMap(_._2).toArray)
     SSOUtils.removeLoginUserByAddCookie(c => gatewayContext.getResponse.addCookie(c))
   }
 
   def updateLastAccessTime(gatewayContext: GatewayContext): Unit =
-    SSOUtils.updateLastAccessTime(gatewayContext.getRequest.getCookies.flatMap(_._2).toArray)
+    SSOUtils.updateLastAccessTime(
+      gatewayContext.getRequest.getCookies.asScala.flatMap(_._2).toArray
+    )
 
 }
diff --git a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/LinkisPreFilter.scala b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/LinkisPreFilter.scala
index 8158f858f..984e85c5c 100644
--- a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/LinkisPreFilter.scala
+++ b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/LinkisPreFilter.scala
@@ -37,6 +37,6 @@ object LinkisPreFilter extends Logging {
     preFilters.add(linkisPreFilter)
   }
 
-  def getLinkisPreFilters = preFilters
+  def getLinkisPreFilters: java.util.List[LinkisPreFilter] = preFilters
 
 }
diff --git a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/ProxyUserUtils.scala b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/ProxyUserUtils.scala
index 71dd40adc..c7121b5ac 100644
--- a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/ProxyUserUtils.scala
+++ b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/ProxyUserUtils.scala
@@ -30,14 +30,14 @@ import java.util.concurrent.TimeUnit
 object ProxyUserUtils extends Logging {
 
   private val (props, file) =
-    if (ENABLE_PROXY_USER.getValue)
+    if (ENABLE_PROXY_USER.getValue) {
       (
         new Properties,
         new File(
           this.getClass.getClassLoader.getResource(PROXY_USER_CONFIG.getValue).toURI.getPath
         )
       )
-    else (null, null)
+    } else (null, null)
 
   private var lastModified = 0L
 
diff --git a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/SecurityFilter.scala b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/SecurityFilter.scala
index 612f90f9e..5a5c4ccd0 100644
--- a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/SecurityFilter.scala
+++ b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/SecurityFilter.scala
@@ -90,7 +90,7 @@ object SecurityFilter extends Logging {
         return false
       }
       // Security certification support, solving verb tampering(安全认证支持,解决动词篡改)
-      gatewayContext.getRequest.getMethod.toUpperCase match {
+      gatewayContext.getRequest.getMethod.toUpperCase(Locale.getDefault()) match {
         case "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "TRACE" | "CONNECT" | "OPTIONS" =>
         case _ =>
           filterResponse(
diff --git a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/UserRestful.scala b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/UserRestful.scala
index f546501b4..3df4a09d3 100644
--- a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/UserRestful.scala
+++ b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/UserRestful.scala
@@ -36,7 +36,7 @@ import org.apache.commons.lang3.StringUtils
 import org.apache.commons.net.util.Base64
 
 import java.nio.charset.StandardCharsets
-import java.util.Random
+import java.util.{Locale, Random}
 
 import scala.collection.JavaConversions._
 
@@ -121,8 +121,9 @@ abstract class AbstractUserRestful extends UserRestful with Logging {
 
   def logout(gatewayContext: GatewayContext): Message = {
     GatewaySSOUtils.removeLoginUser(gatewayContext)
-    if (GatewayConfiguration.ENABLE_SSO_LOGIN.getValue)
+    if (GatewayConfiguration.ENABLE_SSO_LOGIN.getValue) {
       SSOInterceptor.getSSOInterceptor.logout(gatewayContext)
+    }
     if (securityHooks != null) securityHooks.foreach(_.preLogout(gatewayContext))
     "Logout successful(退出登录成功)!"
   }
@@ -181,9 +182,9 @@ abstract class UserPwdAbstractUserRestful extends AbstractUserRestful with Loggi
       if (
           userNameArray != null && userNameArray.nonEmpty &&
           passwordArray != null && passwordArray.nonEmpty
-      )
+      ) {
         (userNameArray.head, passwordArray.head)
-      else if (StringUtils.isNotBlank(gatewayContext.getRequest.getRequestBody)) {
+      } else if (StringUtils.isNotBlank(gatewayContext.getRequest.getRequestBody)) {
         val json = BDPJettyServerHelper.gson.fromJson(
           gatewayContext.getRequest.getRequestBody,
           classOf[java.util.Map[String, Object]]
@@ -272,7 +273,7 @@ abstract class UserPwdAbstractUserRestful extends AbstractUserRestful with Loggi
         message = userControlLogin(userName, password, gatewayContext)
       } else {
         // standard login
-        val lowerCaseUserName = userName.toLowerCase
+        val lowerCaseUserName = userName.toLowerCase(Locale.getDefault())
         message = login(lowerCaseUserName, password)
         clearExpireCookie(gatewayContext)
         if (message.getStatus == 0) {
@@ -288,27 +289,6 @@ abstract class UserPwdAbstractUserRestful extends AbstractUserRestful with Loggi
     }
   }
 
-  //  private def getWorkspaceIdFromDSS(userName: String): util.List[Integer] = {
-  //    val sender: Sender = Sender.getSender(GatewayConfiguration.DSS_QUERY_WORKSPACE_SERVICE_NAME.getValue)
-  //    val requestUserWorkspace: RequestUserWorkspace = new RequestUserWorkspace(userName)
-  //    var resp: Any = null
-  //    var workspaceId: util.List[Integer] = null
-  //    Utils.tryCatch {
-  //      resp = sender.ask(requestUserWorkspace)
-  //    } {
-  //      case e: Exception =>
-  //        error(s"Call dss workspace rpc failed, ${e.getMessage}", e)
-  //        throw new GatewayErrorException(40010, s"向DSS工程服务请求工作空间ID失败, ${e.getMessage}")
-  //    }
-  //    resp match {
-  //      case s: ResponseUserWorkspace => workspaceId = s.getUserWorkspaceIds
-  //      case _ =>
-  //        throw new GatewayErrorException(40012, s"向DSS工程服务请求工作空间ID返回值失败,")
-  //    }
-  //    logger.info("Get userWorkspaceIds  is " + workspaceId + ",and user is " + userName)
-  //    workspaceId
-  //  }
-
   protected def login(userName: String, password: String): Message
 
   private def getRandomProxyUser(): String = {
diff --git a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/sso/SSOInterceptor.scala b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/sso/SSOInterceptor.scala
index 016ba86d1..10179efb8 100644
--- a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/sso/SSOInterceptor.scala
+++ b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/sso/SSOInterceptor.scala
@@ -49,7 +49,7 @@ trait SSOInterceptor {
 }
 
 object SSOInterceptor {
-  import scala.collection.JavaConversions._
+  import scala.collection.JavaConverters._
   private var interceptor: SSOInterceptor = _
 
   def getSSOInterceptor: SSOInterceptor = if (interceptor != null) interceptor
@@ -57,7 +57,7 @@ object SSOInterceptor {
     val ssoInterceptors =
       DataWorkCloudApplication.getApplicationContext.getBeansOfType(classOf[SSOInterceptor])
     if (ssoInterceptors != null && !ssoInterceptors.isEmpty) {
-      interceptor = ssoInterceptors.head._2
+      interceptor = ssoInterceptors.asScala.head._2
     } else {
       interceptor =
         ClassUtils.getClassInstance(GatewayConfiguration.SSO_INTERCEPTOR_CLASS.getValue)
diff --git a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/token/TokenAuthentication.scala b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/token/TokenAuthentication.scala
index 06f0f1768..83f3cfdab 100644
--- a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/token/TokenAuthentication.scala
+++ b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/security/token/TokenAuthentication.scala
@@ -28,8 +28,6 @@ import org.apache.commons.lang3.StringUtils
 
 object TokenAuthentication extends Logging {
 
-  //  @Autowired
-  //  private var tokenService: TokenService = _ //Not working
   private var tokenService: TokenService = _
 
   def setTokenService(tokenService: TokenService): Unit = {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org