图 1-1
一、设计目标
-
解决目前系统尚未做登陆的安全设置,同时不能新增其他的系统用户。
-
通过对用户权限的管理解决数据源安全管控的问题。
-
支持离线计算分析任务需要的定时任务。
-
需要将开发的项目与开发人员、数据源形成关联。
二、实现步骤
2、数据源管理
(1)由原本接口编辑页面新增数据源的接口迁移到后台管理页面。
(2)编写数据源列表页面,并将数据源信息展示出来。
public List<ApiConfig> getConfigList(){
List<ApiConfig> apiConfigs = dataSourceManager.getStoreApiDataSource().listByEntity(ApiConfig.builder().service(rocketApiProperties.getServiceName()).build());
for (ApiConfig apiConfig : apiConfigs) {
String configContext = apiConfig.getConfigContext();
JSONObject dataJson = JSON.parseObject(configContext);
String url = dataJson.getString("url");
String name = dataJson.getString("name");
apiConfig.setConfigContext(url+"@"+name);
}
return apiConfigs;
}
(3) 以Rocket-api原有的添加数据源页面为模板加以改造,放在后台管理界面,并且只能由管理员对其信息进行增删改。
let driver = $('#driver option:selected').data("name");//选中的值
let datasourceName = $("#datasourceName").val();
let comment = $("#comment").val();
let datasourceUser = $("#datasourceUser").val();
let password = $("#password").val();
let url = $("#url").val();
let id = $("#dbId").val();
let articleData = new Object();
articleData.driver = driver;
articleData.name = datasourceName;
articleData.comment = comment;
articleData.url = url;
articleData.user = datasourceUser;
articleData.password = password;
articleData.enabled = true;
articleData.id = id;
$.ajax({
url : "/smart-api/db-config",
type : "post",
dataType : "json",
contentType : "application/json;charset=utf-8",
data : JSON.stringify(articleData),
success : function (res){
if (res.code == 200){
//取消弹窗
cancelDataSource();
getConfigList();
showtips("已完成!!!")
}else {
showtips(res.msg)
}
}
})
填写所添加的数据源的基本信息,点击添加存入数据库。
(4)添加的数据源马上就能在列表展示
(5)并且可对已存在的数据源进行删改
(6)添加完成之后,开发人员和管理员也可立马对其数据库中的数据进行增删改查操作。
到此数据源管理开发结束,请前往下一章项目管理。