acl - HSQLDB服务器ACL不生效
问题描述
我正在尝试在服务器模式下使用 HSQLDB,但无法使 ACL 工作。
我用这个命令行启动了一个服务器(创建一个新的数据库):
java -cp $CLASSPATH:/usr/share/java/hsqldb.jar org.hsqldb.server.Server --database.0 file:~/workspaces/foo/db/fooserver --dbname.0 fooserver
我可以使用 HSQL 数据库管理器连接到它并发出SHUTDOWN
.
接下来,我在其中创建了一个 ACL 文件,~/workspaces/foo/db/fooserver.acl
其中包含以下内容:
deny 127.0.0.1
我用 成功测试了它java -cp $CLASSPATH:/usr/share/java/hsqldb.jar org.hsqldb.server.ServerAcl ~/workspaces/foo/db/fooserver.acl
,它告诉我 127.0.0.1 被拒绝访问。
现在我创建了~/workspaces/foo/db/server.properties
(因为还没有server.properties
文件),内容如下:
server.acl=traffserver.acl
但是,当我现在启动服务器时,我仍然可以连接到数据库。
HSQLDB 版本是 2.4.1,与 Ubuntu 18.04 一起提供。
我尝试过的其他事情:
- 此邮件列表帖子建议使用
server.acl_filepath
而不是server.acl
. 行为仍然相同。 - 我尝试将任一属性添加到
fooserver.properties
. 仍然没有效果,当我停止服务器时,该属性被删除。
我错过了什么?
解决方案
首先,如果您使用的server.properties
文件不在执行java
命令的目录中,则应包含该属性文件的路径。
在同样的场景下,在 server.properties 文件中,需要使用与成功测试相同的路径。所以应该是:
server.acl=~/workspaces/foo/db/fooserver.acl
如果从包含这两个文件的目录发出 java 命令,则指定属性和 acl 文件会更容易。在这种情况下,您可以使用短文件名而不是完整路径。
推荐阅读
- javascript - 如何在我创建的 wordpress 中将我的主题中的 javascript 排入队列?
- firemonkey - 如何在 Delphi iOS 应用程序中处理暗模式
- laravel - 如何从下载的 (.zip) 存储库提交?
- javascript - 数据如何通过 gprs 从 gps 跟踪器到达 node.js 服务器?
- sql - BigQuery,连续行相关问题之间的区别
- php - 如何获取所有 infusionsoft 联系人 - PHP api?
- github - 合并master前后的分支
- excel - 从 Excel VBA 运行 CMD 命令
- ios - 如何使用 AVAudioPlayer 让 Scrubbing 在 UISlider 上工作
- php - 我是否从根本上误解了类似 PHP/C 的编程语言的工作原理?