...
keytool -import -alias 域名 -file 上述证书文件(包含后缀) -keystore $JAVA_HOME/jre/lib/security/cacerts
即:
代码块 | ||||
---|---|---|---|---|
| ||||
keytool -import -alias baidu.com -file XXX.cer -keystore Smartbi/jdk/jre/lib/security/cacerts |
...
用这个命令查看已经导入到Java信任库中的证书,看看名字有没有改对
代码块 | ||||
---|---|---|---|---|
| ||||
keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts |
移除证书,通过指定别名来移除Java信任库中的证书
代码块 | ||||
---|---|---|---|---|
| ||||
Keytool -delete -alias mycert -keystore $JAVA_HOME/jre/lib/security/cacerts |
...
扩展包支持使用计划任务,使用全量的形式同步AD用户到Smartbi。
定义计划任务:自定义计划任务:
代码块 | ||||
---|---|---|---|---|
| ||||
var paramMap = { //分页大小(一次查询用户信息条数),若小于等于0,则不分页,当为空时默认分页10 pageSize : 800, //“用户名”应该使用的AD域属性字段 usernameKey : "sAMAccountName", //“用户别名”应该使用的AD域属性字段 userAliasKey : "displayName", //“用户描述”应该使用的AD域属性字段 userDesKey : "mobile", //同步时的默认密码 defaultPassword : "123456" } //以下内容不需要配置 var paramStr = JSON.stringify(paramMap); connector.remoteInvoke("LDAPSAuthenicationModule", "synchronizeUser", [paramStr]); |
...
同步过来时,对于禁用的用户,只是状态禁用,不会放置在上面提到的禁用组中。上面的禁用组只是针对于Smartbi中有但是AD中没有的用户的。对于没有部门的用户,将会默认保存在DEPARTMENT根组下。
注意 |
---|
同步前请务必备份好用户管理。 |
白名单配置
场景:在一些大型的集团,AD域只是管理集团员工,而集团的外包团队其实是没有AD域账号的,那对于这些外包人员登录Smartbi,就需要通过白名单的设置来避开AD域的验证。
配置:配置项 white_show_setting = true
入口:在【运维设置】- 【系统选项】 - 【用户管理】中,会增加【AD账号白名单】选项,可以把不需要AD域验证的 ”用户“,添加到 ”AD账号白名单“ 中
知识库中会增加一张物理表来记录相关的信息
t_ext_ad_whiteinfo(用于记录白名单的用户)
字段名 | 类型 | 说明 |
c_id | varchar(255) | 用户ID |
c_type | varchar(255) | 类型(用户USER、用户组GROUP、角色ROLE,所有用户EVERYONE) |
c_is_descend | varchar(255) | 是否应用于子孙组用户(只对用户组生效) |
c_extend | longtext | 所选节点扩展内容(包含别名等信息) |
当配置 white_show_setting = false 时,也可以通过SQL的方式来设置白名单:
代码块 | ||
---|---|---|
| ||
INSERT INTO t_ext_ad_whiteinfo (c_id, c_type, c_is_descend, c_extend) VALUES ("ADMIN", "USER", "0", ""); |
t_ext_ad_users:用于记录从AD中同步而来的用户
字段名 | 类型 | 说明 |
c_id | varchar(255) | 用户ID |
c_name | varchar(255) | 用户名 |
c_alias | varchar(255) | 用户别名 |
c_group | varchar(255) | 用户所在组的ID |
c_extend | longtext | 扩展字段 |
若是配置后发现不能正常使用,可以通过下面方法来获取错误信息,以便定位到问题原因。
...