设置Account Domain后账户存储位置与HSQL查询咨询
问题解答
新账户的存储位置
当你创建local-domain账户域并将html-authenticator关联到它之后,通过该认证器创建的新用户会存储在local-domain对应的独立数据库分区中。Curity的账户域会实现用户数据的隔离,默认的账户查询界面(未指定域的情况下)只会读取全局存储或默认域的用户数据,因此新创建的用户不会在默认查询结果中显示,但SCIM接口会遍历所有账户域返回全部用户。
通过HSQL查询账户的步骤
连接到嵌入式HSQL数据库
- 进入Curity安装目录下的
tools/hsqldb文件夹 - 运行
runManagerSwing.bat(Windows)或runManagerSwing.sh(Linux/macOS)启动HSQL客户端 - 输入连接参数:
- 驱动类:
org.hsqldb.jdbcDriver - URL:
jdbc:hsqldb:file:<Curity数据目录>/database/hsqldb/curity(替换为你的实际数据路径,例如/opt/curity/data/database/hsqldb/curity) - 用户名:
sa - 密码:留空
- 驱动类:
- 进入Curity安装目录下的
查询账户域ID
先获取local-domain对应的唯一ID:SELECT id, name FROM account_domains;查询指定域下的用户
用上面得到的local-domain的ID,查询该域下的所有用户:SELECT * FROM accounts WHERE domain_id = '<local-domain的ID>';查询全量用户(含所有域)
如果要查看所有账户域的用户,可执行关联查询:SELECT a.*, ad.name AS domain_name FROM accounts a JOIN account_domains ad ON a.domain_id = ad.id;
关于链接的类似问题
和用户存储逻辑一致,关联到特定账户域的链接(如身份提供商链接、应用链接等)也会被隔离在对应域的上下文下。默认界面查询时无法跨域显示,需要切换到目标账户域的上下文查看,或通过数据库查询时关联domain_id字段进行筛选。
内容的提问来源于stack exchange,提问作者cesarluis
相关产品推荐
相关产品推荐

