Я пытаюсь использовать HSQLDB в режиме сервера, но не могу заставить ACL работать.
Я запустил сервер (создавая базу данных fre sh) с этой командной строкой:
java -cp $CLASSPATH:/usr/share/java/hsqldb.jar org.hsqldb.server.Server --database.0 file:~/workspaces/foo/db/fooserver --dbname.0 fooserver
Я могу подключиться к нему с помощью H SQL Database Manager и выдать 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
еще не было) со следующим content:
server.acl=traffserver.acl
Однако, когда я сейчас запускаю сервер, я все еще могу подключиться к базе данных.
Версия HSQLDB 2.4.1, поставляется с Ubuntu 18.04.
Другие вещи, которые я пробовал:
- В этом списке рассылки предлагается использовать
server.acl_filepath
вместо server.acl
. Поведение остается прежним. - Я попытался добавить любое свойство в
fooserver.properties
. По-прежнему безрезультатно, и свойство останавливается при остановке сервера.
Чего мне не хватает?