|
@@ -30,7 +30,10 @@ export default function DatasourceAdd({ ds_id, ds_info, setDsModalVisible }) {
|
|
|
const [loading, setLoading] = useState(false)
|
|
|
|
|
|
const [keytabFile, setKeytabFile] = useState([])
|
|
|
- const [krd5File, setKrd5File] = useState([])
|
|
|
+ const [krb5File, setKrb5File] = useState([])
|
|
|
+
|
|
|
+ const [keytabUrl, setKeytabUrl] = useState(null)
|
|
|
+ const [krb5Url, setKrb5Url] = useState(null)
|
|
|
|
|
|
const [useSSL, setUseSSL] = useState(false)
|
|
|
// Form表单
|
|
@@ -52,7 +55,9 @@ export default function DatasourceAdd({ ds_id, ds_info, setDsModalVisible }) {
|
|
|
setUseSSL(ds_info.use_ssl === 1)
|
|
|
if (ds_info.kerberos) {
|
|
|
setKeytabFile([])
|
|
|
- setKrd5File([])
|
|
|
+ setKrb5File([])
|
|
|
+ setKeytabUrl(ds_info.keytab)
|
|
|
+ setKrb5Url(ds_info.krb5config)
|
|
|
setKerberosServiceName(ds_info.kerberos_service_name)
|
|
|
setPrincipal(ds_info.principal)
|
|
|
}
|
|
@@ -72,7 +77,7 @@ export default function DatasourceAdd({ ds_id, ds_info, setDsModalVisible }) {
|
|
|
try {
|
|
|
await form.validateFields(fields)
|
|
|
setLoading(true)
|
|
|
- const testData = form.getFieldsValue(fields)
|
|
|
+ const testData = form.getFieldsValue()
|
|
|
const params = {
|
|
|
...testData,
|
|
|
tag: form.getFieldValue('tag').join('/'),
|
|
@@ -83,14 +88,17 @@ export default function DatasourceAdd({ ds_id, ds_info, setDsModalVisible }) {
|
|
|
params['use_ssl'] = useSSL ? 1 : 0
|
|
|
params['kerberos'] = kerbsValid ? 1 : 0
|
|
|
if (kerbsValid) {
|
|
|
+ let keytab = keytabUrl
|
|
|
+ let krb5config = krb5Url
|
|
|
+ console.log(keytab, krb5config)
|
|
|
if (keytabFile && keytabFile.length) {
|
|
|
- const keytab = await uploadKerbFile(keytabFile)
|
|
|
- params['keytab'] = keytab
|
|
|
+ keytab = await uploadKerbFile(keytabFile)
|
|
|
}
|
|
|
- if (krd5File && krd5File.length) {
|
|
|
- const krb5config = await uploadKerbFile(krd5File)
|
|
|
- params['krb5config'] = krb5config
|
|
|
+ if (krb5File && krb5File.length) {
|
|
|
+ krb5config = await uploadKerbFile(krb5File)
|
|
|
}
|
|
|
+ params['keytab'] = keytab
|
|
|
+ params['krb5config'] = krb5config
|
|
|
params['kerberos_service_name'] = kerberosServiceName
|
|
|
params['principal'] = principal
|
|
|
}
|
|
@@ -110,18 +118,8 @@ export default function DatasourceAdd({ ds_id, ds_info, setDsModalVisible }) {
|
|
|
form
|
|
|
.validateFields()
|
|
|
.then(async () => {
|
|
|
- const fields = [
|
|
|
- 'datasource_name',
|
|
|
- 'datasource',
|
|
|
- 'database_name',
|
|
|
- 'jdbc_username',
|
|
|
- 'jdbc_password',
|
|
|
- 'jdbc_url',
|
|
|
- 'comments',
|
|
|
- 'tag',
|
|
|
- ]
|
|
|
const params = {
|
|
|
- ...form.getFieldsValue(fields),
|
|
|
+ ...form.getFieldsValue(),
|
|
|
tag: form.getFieldValue('tag').join('/'),
|
|
|
}
|
|
|
if (params.jdbc_password) {
|
|
@@ -130,14 +128,16 @@ export default function DatasourceAdd({ ds_id, ds_info, setDsModalVisible }) {
|
|
|
params['use_ssl'] = useSSL ? 1 : 0
|
|
|
params['kerberos'] = kerbsValid ? 1 : 0
|
|
|
if (kerbsValid) {
|
|
|
+ let keytab = keytabUrl
|
|
|
+ let krb5config = krb5Url
|
|
|
if (keytabFile && keytabFile.length) {
|
|
|
- const keytab = await uploadKerbFile(keytabFile)
|
|
|
- params['keytab'] = keytab
|
|
|
+ keytab = await uploadKerbFile(keytabFile)
|
|
|
}
|
|
|
- if (krd5File && krd5File.length) {
|
|
|
- const krb5config = await uploadKerbFile(krd5File)
|
|
|
- params['krb5config'] = krb5config
|
|
|
+ if (krb5File && krb5File.length) {
|
|
|
+ krb5config = await uploadKerbFile(krb5File)
|
|
|
}
|
|
|
+ params['keytab'] = keytab
|
|
|
+ params['krb5config'] = krb5config
|
|
|
params['kerberos_service_name'] = kerberosServiceName
|
|
|
params['principal'] = principal
|
|
|
}
|
|
@@ -193,16 +193,16 @@ export default function DatasourceAdd({ ds_id, ds_info, setDsModalVisible }) {
|
|
|
|
|
|
const krd5UpProps = {
|
|
|
onRemove: file => {
|
|
|
- const index = krd5File.indexOf(file)
|
|
|
- const newFileList = krd5File.slice()
|
|
|
+ const index = krb5File.indexOf(file)
|
|
|
+ const newFileList = krb5File.slice()
|
|
|
newFileList.splice(index, 1)
|
|
|
- setKrd5File(newFileList)
|
|
|
+ setKrb5File(newFileList)
|
|
|
},
|
|
|
beforeUpload: file => {
|
|
|
- setKrd5File([...krd5File, file])
|
|
|
+ setKrb5File([...krb5File, file])
|
|
|
return false
|
|
|
},
|
|
|
- krd5File,
|
|
|
+ krb5File,
|
|
|
}
|
|
|
return (
|
|
|
<ProForm
|