Skip to main content
版本:1.5.0

免密认证

在有些场景下,为了方便开发调试,能够方便的访问页面和接口,可以开启测试模式配置,进行免密认证

1. 实现逻辑介绍

通过统一的认证处理filter:org.apache.linkis.server.security.SecurityFilter 来控制

配置项

#是否开启测试模式
wds.linkis.test.mode=true
#测试模式的模拟用户名
wds.linkis.test.user=hadoop

实现的伪代码

val BDP_TEST_USER = CommonVars("wds.linkis.test.user", "")
val IS_TEST_MODE = CommonVars("wds.linkis.test.mode", false)

if (IS_TEST_MODE.getValue) {
logger.info("test mode! login for uri: " + request.getRequestURI)
// 设置登陆用户信息为配置指定的用户
SecurityFilter.setLoginUser(response, BDP_TEST_USER)
true
}

2. 使用方式

2.1 Step1 开启测试模式

直接修改配置文件 linkis.properties(对linkis所有服务生效), 修改对应的配置如下

#是否开启测试模式
wds.linkis.test.mode=true
#测试模式的模拟用户名
wds.linkis.test.user=hadoop

如果只需要开启某个服务的测试模式,可以修改对应的服务配置项。 如 只开启 entrance 服务的测试模式 直接修改配置文件 linkis-cg-entrance.properties(对linkis的entrance服务生效), 修改对应的配置如下

#是否开启测试模式
wds.linkis.test.mode=true
#测试模式的模拟用户名
wds.linkis.test.user=hadoop

2.2 Step2 重启对应的服务

修改配置后,需要重启对应的服务(如果是所有服务都开启,重启所有服务),才能生效

2.3 Step3 请求验证

重启服务成功后,可以直接请求原来需要认证的http接口,无需额外的认证,便能正常请求. 管理台也无需登陆认证,就可以访问内容页面

3 注意事项

3.1 wds.linkis.test.user的值设置

因为部分接口会进行用户角色的权限校验,如: 【搜索历史EC信息】的接口:/api/rest_j/v1/linkisManager/ecinfo/ecrHistoryList 角色有:

角色名权限说明配置项默认值
管理员角色最高权限,拥有所有权限操作wds.linkis.governance.station.adminhadoop
历史任务角色相对普通用户,还可以查看其他用户的所有任务列表信息wds.linkis.jobhistory.adminhadoop
普通角色默认的角色

对于不同场景的测试,设置的wds.linkis.test.user的值,会有不同,需要按实际场景进行设置。 如果需要访问所有接口,需要配置为和wds.linkis.governance.station.admin一样的值,一般是hadoop