用户管理模块是 Smartbi 产品线中一个独立的模块,Smartbi 系列的所有子产品均使用该模块进行用户管理和权限验证。
同时由于其独立性,该模块也可以独立出来给外部其它系统使用或实现与 Smartbi 产品的集成。下文主要介绍如何在外部系统中调用 Smartbi 用户管理模块。
文档目录:
|
用户扩展属性,定义在知识库的 t_systemconfig 表中,在其中 c_key 为 USER_EXTEND_SETTING 的行中,通过 c_long 列,以JSON形式定义。
可通过下面的语句查询到该行数据:
SELECT * FROM t_systemconfig where c_key = "USER_EXTEND_SETTING"; |
如配置了前面的用户扩展属性后,查询结果可能为:
修改 c_long 下的JSON即可对用户扩展属性进行修改。
通过 smartbi.sdk.service.systemconfig.SystemConfigService 可以对用户扩展属性的结构进行读取:
ClientConnector conn = new ClientConnector("http://localhost:18080/smartbi"); conn.open("admin", "manager"); SystemConfigService service = new SystemConfigService(conn); SystemConfig config = service.getSystemConfig("USER_EXTEND_SETTING"); System.out.println(config); conn.close(); |
结果形如:
key=USER_EXTEND_SETTING;value=;longValue=[{"name":"用户扩展属性1","alias":"","typeS":"文本框","valueLength":"100"}] |
通过 smartbi.sdk.service.user.UserManagerService 可以对用户属性值进行读取、修改:
ClientConnector conn = new ClientConnector("http://localhost:18080/smartbi"); conn.open("admin", "admin"); UserManagerService service = new UserManagerService(conn); service.updateUserAttribute("ADMIN", "用户扩展属性1", "ExampleValue", ""); // 修改用户属性 IExtensionAttribute attr = service.getUserAttribute("ADMIN", "用户扩展属性1"); // 读取用户属性 System.out.println(attr.getValue()); conn.close(); |