H2 Web 服务器打开带有预填充信息的 Web 控制台

H2 WebServer open web console with prefilled informations

我正在创建带有嵌入式 H2 数据库的桌面应用程序,我想利用 H2 Web 服务器以便用户可以使用 H2 Web 控制台。

我这样做没有任何问题,但我想在控制台登录屏幕上为用户指定连接信息(url,用户..)或直接为用户打开数据库。

final Server s = Server.createWebServer();
s.start().openBrowser(s.getURL());

恕我直言,开箱即用是不可能的。您编写的 java 代码在 服务器 端是 运行,但是在 H2 控制台中选择一个连接(可能是 H2、postgresql 等...)需要客户端端的交互。

可能的选择:

1- 您可以编写一个 selenium 脚本来为您打开它。这是最简单的方法,您可以谨慎地将其添加到 java 代码中(避免竞争条件)。

2- 您可以调整文件 $HOME/.h2.server.properties 以便只有一个可能的连接,但您仍然需要输入一次凭据并将其保存在浏览器中。

3- 另一种选择是调整 H2 控制台本身以授予对数据库的访问权限,但这将是一个安全漏洞。我想这就是为什么即使通过配置也无法做到这一点的原因。

祝你好运。