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/03/08 14:23:51 UTC
[incubator-linkis] branch dev-1.1.0-datasource updated: Use regex to match against gateway URLs, if matched, let them pass anyway(even if not currently logged in), default: let visualis share URLs pass. (#1636)
This is an automated email from the ASF dual-hosted git repository.
peacewong pushed a commit to branch dev-1.1.0-datasource
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git
The following commit(s) were added to refs/heads/dev-1.1.0-datasource by this push:
new 0e46502 Use regex to match against gateway URLs, if matched, let them pass anyway(even if not currently logged in), default: let visualis share URLs pass. (#1636)
0e46502 is described below
commit 0e465025d346f3e7b3b16e6e0353a24dc4f60a95
Author: SillyCarbon <cr...@outlook.com>
AuthorDate: Tue Mar 8 22:23:47 2022 +0800
Use regex to match against gateway URLs, if matched, let them pass anyway(even if not currently logged in), default: let visualis share URLs pass. (#1636)
---
.../scala/org/apache/linkis/gateway/config/GatewayConfiguration.scala | 3 +++
.../scala/org/apache/linkis/gateway/security/SecurityFilter.scala | 4 ++++
2 files changed, 7 insertions(+)
diff --git a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/config/GatewayConfiguration.scala b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/config/GatewayConfiguration.scala
index 86e756e..62e6c8d 100644
--- a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/config/GatewayConfiguration.scala
+++ b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-core/src/main/scala/org/apache/linkis/gateway/config/GatewayConfiguration.scala
@@ -63,4 +63,7 @@ object GatewayConfiguration {
val DSS_QUERY_WORKSPACE_SERVICE_NAME = CommonVars("wds.dss.query.workspace.service", "dss-framework-project-server")
val USER_WORKSPACE_REFLESH_TIME = CommonVars("wds.linkis.user.workspace.reflesh.time", 10)
+
+ // Use regex to match against URLs, if matched, let them pass anyway(even if not currently logged in), Use "()" and "|" to match against multiple URLs
+ val GATEWAY_NO_AUTH_URL_REGEX = CommonVars("wds.linkis.gateway.no.auth.url.regex", ".*visualis.*share.*")
}
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 dcc46b4..cadba87 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
@@ -36,6 +36,7 @@ import org.apache.linkis.server.exception.{LoginExpireException, NonLoginExcepti
import org.apache.linkis.server.{Message, validateFailed}
import org.apache.commons.lang.StringUtils
import org.apache.commons.lang.exception.ExceptionUtils
+import java.util.regex.Pattern
object SecurityFilter extends Logging {
@@ -132,6 +133,9 @@ object SecurityFilter extends Logging {
.data("enableSSO", true).data("SSOURL", SSOInterceptor.getSSOInterceptor.redirectTo(gatewayContext.getRequest.getURI)) << gatewayContext.getRequest.getRequestURI)
false
}
+ } else if (gatewayContext.getRequest.getRequestURI.matches(GatewayConfiguration.GATEWAY_NO_AUTH_URL_REGEX.getValue)){
+ GatewaySSOUtils.info("Not logged in, still let it pass (GATEWAY_NO_AUTH_URL): " + gatewayContext.getRequest.getRequestURI)
+ true
} else {
filterResponse(gatewayContext, Message.noLogin("You are not logged in, please login first(您尚未登录,请先登录)!") << gatewayContext.getRequest.getRequestURI)
false
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org