配置Datasette以使用SQLite set_authorizer机制阻止操作
项目描述
datasette-sqlite-authorizer
配置Datasette以使用SQLite set_authorizer机制阻止操作
安装
在Datasette相同的环境中安装此插件。
datasette install datasette-sqlite-authorizer
用法
此插件目前提供一个配置选项: read_only_tables
。您可以使用此选项指定应只读的表列表。
如果表是只读的,则任何写入尝试( insert
、update
、delete
、drop table
、alter table
)都将因错误信息而拒绝。
要配置只读表,将以下内容添加到您的 metadata.yaml
文件中
plugins:
datasette-sqlite-authorizer:
read_only_tables:
- table: my_table
database: my_database
如果您想将相同的规则应用于所有数据库,则可以省略 database
键。
以下是如何使用此插件使所有与Litestream同步相关的表在所有附加数据库中只读的示例
plugins:
datasette-sqlite-authorizer:
read_only_tables:
- table: _litestream_lock
- table: _litestream_seq
记录操作
要启用特定操作检查的调试输出(到标准错误),请将它们添加到 debug_actions
列表中。例如,要记录所有 SQLITE_INSERT
操作
plugins:
datasette-sqlite-authorizer:
debug_actions:
- SQLITE_INSERT
- SQLITE_DELETE
记录的输出将类似于以下内容
authorizer: {"action": "SQLITE_INSERT", "arg1": "foo", "arg2": null, "db_name": "main", "trigger_name": null, "result": "OK"}
authorizer: {"action": "SQLITE_DELETE", "arg1": "foo", "arg2": null, "db_name": "main", "trigger_name": null, "result": "OK"}
开发
要本地设置此插件,首先检出代码。然后创建一个新的虚拟环境
cd datasette-sqlite-authorizer
python3 -m venv venv
source venv/bin/activate
现在安装依赖项和测试依赖项
pip install -e '.[test]'
要运行测试
pytest
项目详情
关闭
datasette-sqlite-authorizer-0.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cd4aec28e9bc86fc1856b88190e2ddd36b2796a321f7286448f861f0d51ffa0d |
|
MD5 | f924d6bd23ffe744256ae049ee2fe9fc |
|
BLAKE2b-256 | bea060248eafcbbd6dc44dd87d0f1f3260b0890203270c2d0b3eb1457dcf51c4 |
关闭
datasette_sqlite_authorizer-0.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c24f641b234d72ad6c9e601e9ae1bdbe1a09049493367b422d6f75d12eedd395 |
|
MD5 | 6cb14a050c72b24add34efe3be3986b3 |
|
BLAKE2b-256 | 15685d214c257ee7e66c95b850e08a05c5d285d5cb39697ccb4a3744d900f8e9 |