From d6edd7fa6f236b96bf8428c0b503e9d554506a10 Mon Sep 17 00:00:00 2001 From: serge-rider Date: Tue, 19 May 2020 01:31:34 +0300 Subject: [PATCH] Cloud authentication model --- .../src/io/cloudbeaver/model/session/WebSession.java | 2 +- .../src/io/cloudbeaver/service/auth/DBWServiceAuth.java | 2 ++ .../src/io/cloudbeaver/service/auth/WebAuthInfo.java | 7 +++++-- .../cloudbeaver/service/auth/impl/WebServiceAuthImpl.java | 2 -- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/session/WebSession.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/session/WebSession.java index af477d0d09..78b26a2b20 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/session/WebSession.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/session/WebSession.java @@ -171,7 +171,7 @@ public class WebSession { private void initNavigatorModel() { CBPlatform platform = CBPlatform.getInstance(); - this.navigatorModel = new DBNModel(platform, false); + this.navigatorModel = new DBNModel(platform, this); this.navigatorModel.initialize(); DBPProject project = platform.getWorkspace().getActiveProject(); diff --git a/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/DBWServiceAuth.java b/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/DBWServiceAuth.java index a425211d79..dd775dd70b 100644 --- a/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/DBWServiceAuth.java +++ b/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/DBWServiceAuth.java @@ -29,6 +29,8 @@ import java.util.Map; */ public interface DBWServiceAuth extends DBWService { + String ATTR_USER_AUTH = "user-auth-info"; + @WebAction(requirePermissions = {} ) WebAuthInfo authLogin(WebSession webSession, String providerId, Map credentials) throws DBWebException; diff --git a/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/WebAuthInfo.java b/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/WebAuthInfo.java index 1caf60eafc..d279923927 100644 --- a/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/WebAuthInfo.java +++ b/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/WebAuthInfo.java @@ -16,11 +16,10 @@ */ package io.cloudbeaver.service.auth; +import io.cloudbeaver.model.session.WebSession; import io.cloudbeaver.model.user.WebUser; -import java.time.LocalDate; import java.time.OffsetDateTime; -import java.util.Date; /** * WebAuthInfo @@ -76,4 +75,8 @@ public class WebAuthInfo { public void setMessage(String message) { this.message = message; } + + public static WebAuthInfo getFromSession(WebSession webSession) { + return webSession.getAttribute(DBWServiceAuth.ATTR_USER_AUTH); + } } diff --git a/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/impl/WebServiceAuthImpl.java b/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/impl/WebServiceAuthImpl.java index 6f9d1cbb2f..fc54543a5f 100644 --- a/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/impl/WebServiceAuthImpl.java +++ b/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/impl/WebServiceAuthImpl.java @@ -42,8 +42,6 @@ import java.util.Map; */ public class WebServiceAuthImpl implements DBWServiceAuth { - private static final String ATTR_USER_AUTH = "user-auth-info"; - @Override public WebAuthInfo authLogin(WebSession webSession, String providerId, Map authParameters) throws DBWebException { if (!CBApplication.getInstance().getAppConfiguration().isAuthenticationEnabled()) {