Skip to content

DSS redirects to dolphinshscheduler and prompts user not logged in #1110

Open
@tuigerphkeeper

Description

@tuigerphkeeper

Search before asking

  • I searched the issues and found no similar issues.

DSS Component

dss-appconn

What happened + What you expected to happen

image

Relevent platform

<linkis-mg-gateway.log>

2023-08-28 14:56:40.755 [ERROR] [reactor-http-epoll-1 ] o.a.l.g.s.SecurityFilter$ (117) [apply] [JobId-] - login failed! Reason: login failed! reason: NonLoginException: errCode: 11002 ,desc: You are not logged in, please login first(您尚未登录,请先登录!) ,ip: lc-node2 ,port: 9001 ,serviceKind: linkis-mg-gateway org.apache.linkis.server.exception.NonLoginException: errCode: 11002 ,desc: You are not logged in, please login first(您尚未登录,请先登录!) ,ip: lc-node2 ,port: 9001 ,serviceKind: linkis-mg-gateway
at org.apache.linkis.server.security.SSOUtils$$anonfun$getLoginUsername$1.apply(SSOUtils.scala:165) ~[linkis-module-1.4.0.jar:1.4.0]
at org.apache.linkis.server.security.SSOUtils$$anonfun$getLoginUsername$1.apply(SSOUtils.scala:165) ~[linkis-module-1.4.0.jar:1.4.0]
at scala.Option.getOrElse(Option.scala:121) ~[scala-library-2.11.12.jar:?]
at org.apache.linkis.server.security.SSOUtils$.getLoginUsername(SSOUtils.scala:164) ~[linkis-module-1.4.0.jar:1.4.0]
at org.apache.linkis.gateway.security.GatewaySSOUtils$.getLoginUsername(GatewaySSOUtils.scala:85) ~[linkis-gateway-core-1.4.0.jar:1.4.0]
at org.apache.linkis.gateway.security.AbstractUserRestful.userInfo(UserRestful.scala:141) ~[linkis-gateway-core-1.4.0.jar:1.4.0]
at org.apache.linkis.gateway.security.AbstractUserRestful.doUserRequest(UserRestful.scala:87) ~[linkis-gateway-core-1.4.0.jar:1.4.0]
at org.apache.linkis.gateway.security.SecurityFilter$$anonfun$doFilter$1.apply$mcV$sp(SecurityFilter.scala:112) ~[linkis-gateway-core-1.4.0.jar:1.4.0]
at org.apache.linkis.gateway.security.SecurityFilter$$anonfun$doFilter$1.apply(SecurityFilter.scala:112) ~[linkis-gateway-core-1.4.0.jar:1.4.0]
at org.apache.linkis.gateway.security.SecurityFilter$$anonfun$doFilter$1.apply(SecurityFilter.scala:112) ~[linkis-gateway-core-1.4.0.jar:1.4.0]
at org.apache.linkis.common.utils.Utils$.tryCatch(Utils.scala:49) ~[linkis-common-1.4.0.jar:1.4.0]
at org.apache.linkis.gateway.security.SecurityFilter$.doFilter(SecurityFilter.scala:112) ~[linkis-gateway-core-1.4.0.jar:1.4.0]
at org.apache.linkis.gateway.security.SecurityFilter.doFilter(SecurityFilter.scala) ~[linkis-gateway-core-1.4.0.jar:1.4.0]
at org.apache.linkis.gateway.springcloud.http.GatewayAuthorizationFilter.gatewayDeal(GatewayAuthorizationFilter.java:147) ~[linkis-spring-cloud-gateway-1.4.0.jar:1.4.0]
at org.apache.linkis.gateway.springcloud.http.GatewayAuthorizationFilter.filter(GatewayAuthorizationFilter.java:283) ~[linkis-spring-cloud-gateway-1.4.0.jar:1.4.0]
at org.springframework.cloud.gateway.handler.FilteringWebHandler$GatewayFilterAdapter.filter(FilteringWebHandler.java:138) ~[spring-cloud-gateway-server-2.2.9.RELEASE.jar:2.2.9.RELEASE]
at org.springframework.cloud.gateway.filter.OrderedGatewayFilter.filter(OrderedGatewayFilter.java:44) ~[spring-cloud-gateway-server-2.2.9.RELEASE.jar:2.2.9.RELEASE]
at org.springframework.cloud.gateway.handler.FilteringWebHandler$DefaultGatewayFilterChain.lambda$filter$0(FilteringWebHandler.java:118) ~[spring-cloud-gateway-server-2.2.9.RELEASE.jar:2.2.9.RELEASE]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:44) ~[reactor-core-3.3.17.RELEASE.jar:3.3.17.RELEASE]
at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) ~[reactor-core-3.3.17.RELEASE.jar:3.3.17.RELEASE]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) ~[reactor-core-3.3.17.RELEASE.jar:3.3.17.RELEASE]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) ~[reactor-core-3.3.17.RELEASE.jar:3.3.17.RELEASE]
at reactor.core.publisher.Mono.subscribe(Mono.java:4252) ~[reactor-core-3.3.17.RELEASE.jar:3.3.17.RELEASE]

Reproduction script

<dolphinscheduler-api.log>

[WARN] 2023-08-28 14:56:40.757 org.eclipse.jetty.server.HttpChannel:[600] - /dolphinscheduler/projects/analysis/define-user-count
org.apache.linkis.httpclient.exception.HttpClientResultException: errCode: 10905 ,desc: URL /api/rest_j/v1/user/userInfo request failed! ResponseBody is {"method":"/api/rest_j/v1
/user/userInfo","status":1,"message":"login failed! reason: NonLoginException: errCode: 11002 ,desc: You are not logged in, please login first(您尚未登录,请先登录!) ,ip: lc-node
2 ,port: 9001 ,serviceKind: linkis-mg-gateway","data":{}}. errCode: 10905 ,desc: URL /api/rest_j/v1/user/userInfo request failed! ResponseBody is {"method":"/api/rest_j/v1/user/u
serInfo","status":1,"message":"login failed! reason: NonLoginException: errCode: 11002 ,desc: You are not logged in, please login first(您尚未登录,请先登录!) ,ip: lc-node2 ,port
: 9001 ,serviceKind: linkis-mg-gateway","data":{}}. ,ip: null ,port: 0 ,serviceKind: null ,ip: null ,port: 0 ,serviceKind: null
at org.apache.linkis.httpclient.dws.response.DWSResult$$anonfun$set$2.apply(DWSResult.scala:85)
at org.apache.linkis.httpclient.dws.response.DWSResult$$anonfun$set$2.apply(DWSResult.scala:84)
at org.apache.linkis.common.utils.Utils$.tryCatch(Utils.scala:69)
at org.apache.linkis.httpclient.dws.response.DWSResult$class.set(DWSResult.scala:84)
at com.webank.wedatasphere.dss.standard.app.sso.origin.plugin.UserInfoResult.set(UserInfoResult.scala:26)
at org.apache.linkis.httpclient.dws.DWSHttpClient$$anonfun$httpResponseToResult$1.apply(DWSHttpClient.scala:83)
at org.apache.linkis.httpclient.dws.DWSHttpClient$$anonfun$httpResponseToResult$1.apply(DWSHttpClient.scala:79)
at scala.Option.map(Option.scala:146)
at org.apache.linkis.httpclient.dws.DWSHttpClient.httpResponseToResult(DWSHttpClient.scala:79)
at org.apache.linkis.httpclient.AbstractHttpClient$$anonfun$responseToResult$2.apply(AbstractHttpClient.scala:537)
at org.apache.linkis.httpclient.AbstractHttpClient$$anonfun$responseToResult$2.apply(AbstractHttpClient.scala:480)
at org.apache.linkis.common.utils.Utils$.tryFinally(Utils.scala:77)
at org.apache.linkis.httpclient.AbstractHttpClient.responseToResult(AbstractHttpClient.scala:549)
at org.apache.linkis.httpclient.AbstractHttpClient.execute(AbstractHttpClient.scala:174)
at org.apache.linkis.httpclient.AbstractHttpClient.execute(AbstractHttpClient.scala:127)
at com.webank.wedatasphere.dss.standard.app.sso.origin.plugin.OriginSSOMsgParseOperation$$anonfun$getUser$2.apply(OriginSSOMsgParseOperation.scala:35)
at com.webank.wedatasphere.dss.standard.app.sso.origin.plugin.OriginSSOMsgParseOperation$$anonfun$getUser$2.apply(OriginSSOMsgParseOperation.scala:33)
at org.apache.linkis.common.utils.Utils$.tryFinally(Utils.scala:77)
at com.webank.wedatasphere.dss.standard.app.sso.origin.plugin.OriginSSOMsgParseOperation.getUser(OriginSSOMsgParseOperation.scala:41)
at com.webank.wedatasphere.dss.standard.app.sso.plugin.AbstractSSOMsgParseOperation.getSSOMsg(AbstractSSOMsgParseOperation.java:48)
at com.webank.wedatasphere.dss.standard.app.sso.plugin.filter.SSOPluginFilter.doFilter(SSOPluginFilter.scala:60)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:561)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1612)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1582)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:766)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
at java.lang.Thread.run(Thread.java:750)
[INFO] 2023-08-28 14:56:40.758 org.apache.dolphinscheduler.api.security.PasswordAuthenticator:[70] - session info is null
[INFO] 2023-08-28 14:56:40.758 org.apache.dolphinscheduler.api.interceptor.LoginHandlerInterceptor:[67] - user does not exist

Anything else

If I create a project in DSS, the dolphinscheduler can be successfully created, and the relevant jar packages are available。I have tried using the official dss dolphinscheduler token package that others can compile and use to replace all libs in dss, using tokens with the same username, but none of them worked。
image
image
image
image

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions