📝 修改密钥.
This commit is contained in:
@@ -22,7 +22,7 @@ export function getCurrentAuthorizedHost(type: string) {
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前用户已授权的主机秘钥
|
||||
* 查询当前用户已授权的主机密钥
|
||||
*/
|
||||
export function getCurrentAuthorizedHostKey() {
|
||||
return axios.get<Array<HostKeyQueryResponse>>('/asset/authorized-data/current-host-key');
|
||||
|
||||
@@ -32,14 +32,14 @@ export function getAuthorizedHostGroup(params: AssetAuthorizedDataQueryRequest)
|
||||
}
|
||||
|
||||
/**
|
||||
* 主机秘钥授权
|
||||
* 主机密钥授权
|
||||
*/
|
||||
export function grantHostKey(request: AssetDataGrantRequest) {
|
||||
return axios.put('/asset/data-grant/grant-host-key', request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取已授权的主机秘钥
|
||||
* 获取已授权的主机密钥
|
||||
*/
|
||||
export function getAuthorizedHostKey(params: AssetAuthorizedDataQueryRequest) {
|
||||
return axios.get<Array<number>>('/asset/data-grant/get-host-key', { params });
|
||||
|
||||
@@ -3,7 +3,7 @@ import type { TableData } from '@arco-design/web-vue/es/table/interface';
|
||||
import axios from 'axios';
|
||||
|
||||
/**
|
||||
* 主机秘钥创建请求
|
||||
* 主机密钥创建请求
|
||||
*/
|
||||
export interface HostKeyCreateRequest {
|
||||
name?: string;
|
||||
@@ -13,7 +13,7 @@ export interface HostKeyCreateRequest {
|
||||
}
|
||||
|
||||
/**
|
||||
* 主机秘钥更新请求
|
||||
* 主机密钥更新请求
|
||||
*/
|
||||
export interface HostKeyUpdateRequest extends HostKeyCreateRequest {
|
||||
id?: number;
|
||||
@@ -21,7 +21,7 @@ export interface HostKeyUpdateRequest extends HostKeyCreateRequest {
|
||||
}
|
||||
|
||||
/**
|
||||
* 主机秘钥查询请求
|
||||
* 主机密钥查询请求
|
||||
*/
|
||||
export interface HostKeyQueryRequest extends Pagination {
|
||||
searchValue?: string;
|
||||
@@ -32,7 +32,7 @@ export interface HostKeyQueryRequest extends Pagination {
|
||||
}
|
||||
|
||||
/**
|
||||
* 主机秘钥查询响应
|
||||
* 主机密钥查询响应
|
||||
*/
|
||||
export interface HostKeyQueryResponse extends TableData {
|
||||
id: number;
|
||||
@@ -45,42 +45,42 @@ export interface HostKeyQueryResponse extends TableData {
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建主机秘钥
|
||||
* 创建主机密钥
|
||||
*/
|
||||
export function createHostKey(request: HostKeyCreateRequest) {
|
||||
return axios.post('/asset/host-key/create', request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过 id 更新主机秘钥
|
||||
* 通过 id 更新主机密钥
|
||||
*/
|
||||
export function updateHostKey(request: HostKeyUpdateRequest) {
|
||||
return axios.put('/asset/host-key/update', request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过 id 查询主机秘钥
|
||||
* 通过 id 查询主机密钥
|
||||
*/
|
||||
export function getHostKey(id: number) {
|
||||
return axios.get<HostKeyQueryResponse>('/asset/host-key/get', { params: { id } });
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询主机秘钥
|
||||
* 查询主机密钥
|
||||
*/
|
||||
export function getHostKeyList() {
|
||||
return axios.get<Array<HostKeyQueryResponse>>('/asset/host-key/list');
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询主机秘钥
|
||||
* 分页查询主机密钥
|
||||
*/
|
||||
export function getHostKeyPage(request: HostKeyQueryRequest) {
|
||||
return axios.post<DataGrid<HostKeyQueryResponse>>('/asset/host-key/query', request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过 id 删除主机秘钥
|
||||
* 通过 id 删除主机密钥
|
||||
*/
|
||||
export function deleteHostKey(id: number) {
|
||||
return axios.delete('/asset/host-key/delete', { params: { id } });
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
options: [{ value: 'table', label: '表格' }, { value: 'card', label: '卡片' }]
|
||||
},
|
||||
{
|
||||
name: '主机秘钥',
|
||||
name: '主机密钥',
|
||||
key: 'hostKeyView',
|
||||
type: 'radio-group',
|
||||
margin: '0 0 4px 0',
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<a-select v-model:model-value="value"
|
||||
:options="optionData"
|
||||
:loading="loading"
|
||||
placeholder="请选择主机秘钥"
|
||||
placeholder="请选择主机密钥"
|
||||
allow-clear />
|
||||
</template>
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ export default defineStore('cache', {
|
||||
return await this.load('hosts', getHostList, force);
|
||||
},
|
||||
|
||||
// 获取主机秘钥列表
|
||||
// 获取主机密钥列表
|
||||
async loadHostKeys(force = false) {
|
||||
return await this.load('hostKeys', getHostKeyList, force);
|
||||
},
|
||||
@@ -106,7 +106,7 @@ export default defineStore('cache', {
|
||||
return await this.load(`${type}_Tags`, () => getTagList(type), force);
|
||||
},
|
||||
|
||||
// 获取已授权的主机秘钥列表
|
||||
// 获取已授权的主机密钥列表
|
||||
async loadAuthorizedHostKeys(force = false) {
|
||||
return await this.load('authorizedHostKeys', getCurrentAuthorizedHostKey, force);
|
||||
},
|
||||
|
||||
@@ -23,15 +23,15 @@
|
||||
{{ getDictValue(identityTypeKey, record.type) }}
|
||||
</a-tag>
|
||||
</template>
|
||||
<!-- 秘钥名称 -->
|
||||
<!-- 密钥名称 -->
|
||||
<template #keyId="{ record }">
|
||||
<!-- 有秘钥 -->
|
||||
<!-- 有密钥 -->
|
||||
<template v-if="record.keyId && record.type === 'KEY'">
|
||||
<a-tag color="arcoblue" v-if="record.keyId">
|
||||
{{ hostKeys.find(s => s.id === record.keyId)?.name }}
|
||||
</a-tag>
|
||||
</template>
|
||||
<!-- 无秘钥 -->
|
||||
<!-- 无密钥 -->
|
||||
<template v-else>
|
||||
<span>-</span>
|
||||
</template>
|
||||
@@ -137,9 +137,9 @@
|
||||
}
|
||||
});
|
||||
|
||||
// 初始化秘钥数据
|
||||
// 初始化密钥数据
|
||||
onMounted(async () => {
|
||||
// 加载主机秘钥
|
||||
// 加载主机密钥
|
||||
hostKeys.value = await cacheStore.loadHostKeys();
|
||||
});
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
@grant="doGrant"
|
||||
@select-all="selectAll"
|
||||
@reverse="reverseSelect">
|
||||
<!-- 主机秘钥表格 -->
|
||||
<!-- 主机密钥表格 -->
|
||||
<a-table row-key="id"
|
||||
class="host-key-main-table"
|
||||
:columns="hostKeyColumns"
|
||||
|
||||
@@ -11,9 +11,9 @@ export const GrantKey = {
|
||||
HOST_GROUP_ROLE: 1,
|
||||
// 主机分组-用户
|
||||
HOST_GROUP_USER: 2,
|
||||
// 主机秘钥-角色
|
||||
// 主机密钥-角色
|
||||
HOST_KEY_ROLE: 3,
|
||||
// 主机秘钥-用户
|
||||
// 主机密钥-用户
|
||||
HOST_KEY_USER: 4,
|
||||
// 主机身份-角色
|
||||
HOST_IDENTITY_ROLE: 5,
|
||||
@@ -46,14 +46,14 @@ export const GrantTabs = [
|
||||
}, {
|
||||
key: GrantKey.HOST_KEY_ROLE,
|
||||
permission: ['asset:host-key:grant'],
|
||||
title: '主机秘钥授权 - 角色',
|
||||
title: '主机密钥授权 - 角色',
|
||||
icon: 'icon-lock',
|
||||
type: GrantType.ROLE,
|
||||
component: HostKeyGrant
|
||||
}, {
|
||||
key: GrantKey.HOST_KEY_USER,
|
||||
permission: ['asset:host-key:grant'],
|
||||
title: '主机秘钥授权 - 用户',
|
||||
title: '主机密钥授权 - 用户',
|
||||
icon: 'icon-lock',
|
||||
type: GrantType.USER,
|
||||
component: HostKeyGrant
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { TableColumnData } from '@arco-design/web-vue/es/table/interface';
|
||||
import { dateFormat } from '@/utils';
|
||||
|
||||
// 主机秘钥列
|
||||
// 主机密钥列
|
||||
export const hostKeyColumns = [
|
||||
{
|
||||
title: 'id',
|
||||
@@ -64,7 +64,7 @@ export const hostIdentityColumns = [
|
||||
ellipsis: true,
|
||||
tooltip: true
|
||||
}, {
|
||||
title: '主机秘钥',
|
||||
title: '主机密钥',
|
||||
dataIndex: 'keyId',
|
||||
slotName: 'keyId',
|
||||
}, {
|
||||
|
||||
@@ -64,8 +64,8 @@
|
||||
<a-form-item field="username" label="用户名">
|
||||
<a-input v-model="formModel.username" placeholder="请输入用户名" allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 秘钥 -->
|
||||
<a-form-item field="keyId" label="秘钥">
|
||||
<!-- 密钥 -->
|
||||
<a-form-item field="keyId" label="密钥">
|
||||
<host-key-selector v-model="formModel.keyId" allow-clear />
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
@@ -86,9 +86,9 @@
|
||||
{{ record.username }}
|
||||
</span>
|
||||
</template>
|
||||
<!-- 秘钥名称 -->
|
||||
<!-- 密钥名称 -->
|
||||
<template #keyId="{ record }">
|
||||
<!-- 有秘钥 -->
|
||||
<!-- 有密钥 -->
|
||||
<template v-if="record.keyId && record.type === IdentityType.KEY">
|
||||
<!-- 可查看详情 -->
|
||||
<a-tooltip v-if="hasAnyPermission(['asset:host-key:detail', 'asset:host-key:update'])"
|
||||
@@ -104,7 +104,7 @@
|
||||
{{ record.keyName }}
|
||||
</a-tag>
|
||||
</template>
|
||||
<!-- 无秘钥 -->
|
||||
<!-- 无密钥 -->
|
||||
<template v-else>
|
||||
<span>-</span>
|
||||
</template>
|
||||
|
||||
@@ -49,10 +49,10 @@
|
||||
checked-text="使用新密码"
|
||||
unchecked-text="使用原密码" />
|
||||
</a-form-item>
|
||||
<!-- 主机秘钥 -->
|
||||
<!-- 主机密钥 -->
|
||||
<a-form-item v-if="formModel.type === IdentityType.KEY"
|
||||
field="keyId"
|
||||
label="主机秘钥">
|
||||
label="主机密钥">
|
||||
<host-key-selector v-model="formModel.keyId" />
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
|
||||
@@ -28,8 +28,8 @@
|
||||
<a-form-item field="username" label="用户名">
|
||||
<a-input v-model="formModel.username" placeholder="请输入用户名" allow-clear />
|
||||
</a-form-item>
|
||||
<!-- 主机秘钥 -->
|
||||
<a-form-item field="keyId" label="主机秘钥">
|
||||
<!-- 主机密钥 -->
|
||||
<a-form-item field="keyId" label="主机密钥">
|
||||
<host-key-selector v-model="formModel.keyId" allow-clear />
|
||||
</a-form-item>
|
||||
</query-header>
|
||||
@@ -99,9 +99,9 @@
|
||||
{{ record.username }}
|
||||
</span>
|
||||
</template>
|
||||
<!-- 秘钥名称 -->
|
||||
<!-- 密钥名称 -->
|
||||
<template #keyId="{ record }">
|
||||
<!-- 有秘钥 -->
|
||||
<!-- 有密钥 -->
|
||||
<template v-if="record.keyId && record.type === IdentityType.KEY">
|
||||
<!-- 可查看详情 -->
|
||||
<a-tooltip v-if="hasAnyPermission(['asset:host-key:detail', 'asset:host-key:update'])"
|
||||
@@ -117,7 +117,7 @@
|
||||
{{ record.keyName }}
|
||||
</a-tag>
|
||||
</template>
|
||||
<!-- 无秘钥 -->
|
||||
<!-- 无密钥 -->
|
||||
<template v-else>
|
||||
<span>-</span>
|
||||
</template>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<host-identity-form-modal ref="modal"
|
||||
@added="modalAddCallback"
|
||||
@updated="modalUpdateCallback" />
|
||||
<!-- 主机秘钥抽屉 -->
|
||||
<!-- 主机密钥抽屉 -->
|
||||
<host-key-form-drawer ref="keyDrawer" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -19,7 +19,7 @@ const fieldConfig = {
|
||||
slotName: 'username',
|
||||
ellipsis: true,
|
||||
}, {
|
||||
label: '主机秘钥',
|
||||
label: '主机密钥',
|
||||
dataIndex: 'keyId',
|
||||
slotName: 'keyId',
|
||||
height: '24px',
|
||||
|
||||
@@ -15,7 +15,7 @@ export const type = [{
|
||||
|
||||
export const keyId = [{
|
||||
required: true,
|
||||
message: '请选择秘钥'
|
||||
message: '请选择密钥'
|
||||
}] as FieldRule[];
|
||||
|
||||
export const username = [{
|
||||
|
||||
@@ -25,7 +25,7 @@ const columns = [
|
||||
dataIndex: 'username',
|
||||
slotName: 'username',
|
||||
}, {
|
||||
title: '主机秘钥',
|
||||
title: '主机密钥',
|
||||
dataIndex: 'keyId',
|
||||
slotName: 'keyId',
|
||||
}, {
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
@cancel="handleClose">
|
||||
<a-spin class="full modal-form-small" :loading="loading">
|
||||
<a-alert class="keygen-alert">
|
||||
请使用 ssh-keygen -m PEM -t rsa 生成秘钥
|
||||
请使用 ssh-keygen -m PEM -t rsa 生成密钥
|
||||
</a-alert>
|
||||
<a-form :model="formModel"
|
||||
ref="formRef"
|
||||
@@ -119,7 +119,7 @@
|
||||
|
||||
// 打开新增
|
||||
const openAdd = () => {
|
||||
title.value = '添加主机秘钥';
|
||||
title.value = '添加主机密钥';
|
||||
isAddHandle.value = true;
|
||||
isViewHandler.value = false;
|
||||
renderForm({ ...defaultForm() });
|
||||
@@ -128,7 +128,7 @@
|
||||
|
||||
// 打开修改
|
||||
const openUpdate = async (record: any) => {
|
||||
title.value = '修改主机秘钥';
|
||||
title.value = '修改主机密钥';
|
||||
isAddHandle.value = false;
|
||||
isViewHandler.value = false;
|
||||
await render(record.id);
|
||||
@@ -136,7 +136,7 @@
|
||||
|
||||
// 打开查看
|
||||
const openView = async (record: any) => {
|
||||
title.value = '主机秘钥';
|
||||
title.value = '主机密钥';
|
||||
isAddHandle.value = false;
|
||||
isViewHandler.value = true;
|
||||
await render(record.id);
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<div class="table-left-bar-handle">
|
||||
<!-- 标题 -->
|
||||
<div class="table-title">
|
||||
秘钥列表
|
||||
密钥列表
|
||||
</div>
|
||||
</div>
|
||||
<!-- 右侧操作 -->
|
||||
|
||||
@@ -69,10 +69,10 @@
|
||||
checked-text="使用新密码"
|
||||
unchecked-text="使用原密码" />
|
||||
</a-form-item>
|
||||
<!-- 主机秘钥 -->
|
||||
<!-- 主机密钥 -->
|
||||
<a-form-item v-if="SshAuthType.KEY === formModel.authType"
|
||||
field="keyId"
|
||||
label="主机秘钥"
|
||||
label="主机密钥"
|
||||
:hide-asterisk="true">
|
||||
<host-key-selector v-model="formModel.keyId" />
|
||||
</a-form-item>
|
||||
|
||||
@@ -19,7 +19,7 @@ export interface HostSshConfig {
|
||||
export const SshAuthType = {
|
||||
// 密码验证
|
||||
PASSWORD: 'PASSWORD',
|
||||
// 秘钥验证
|
||||
// 密钥验证
|
||||
KEY: 'KEY',
|
||||
// 身份验证
|
||||
IDENTITY: 'IDENTITY'
|
||||
|
||||
@@ -22,7 +22,7 @@ export const authType = [{
|
||||
|
||||
export const keyId = [{
|
||||
required: true,
|
||||
message: '请选择主机秘钥'
|
||||
message: '请选择主机密钥'
|
||||
}] as FieldRule[];
|
||||
|
||||
export const identityId = [{
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
label="用户名">
|
||||
<a-input v-model="formModel.username" placeholder="请输入用户名" />
|
||||
</a-form-item>
|
||||
<!-- 主机秘钥 -->
|
||||
<!-- 主机密钥 -->
|
||||
<a-form-item v-if="formModel.authType === ExtraSshAuthType.CUSTOM_KEY"
|
||||
field="keyId"
|
||||
label="主机秘钥"
|
||||
:rules="{ required: true, message: '请选择主机秘钥' }">
|
||||
label="主机密钥"
|
||||
:rules="{ required: true, message: '请选择主机密钥' }">
|
||||
<host-key-selector v-model="formModel.keyId"
|
||||
:authorized="true" />
|
||||
</a-form-item>
|
||||
|
||||
@@ -64,7 +64,7 @@ export const ExtraSettingItems = {
|
||||
export const ExtraSshAuthType = {
|
||||
// 使用默认认证方式
|
||||
DEFAULT: 'DEFAULT',
|
||||
// 自定义秘钥
|
||||
// 自定义密钥
|
||||
CUSTOM_KEY: 'CUSTOM_KEY',
|
||||
// 自定义身份
|
||||
CUSTOM_IDENTITY: 'CUSTOM_IDENTITY',
|
||||
|
||||
Reference in New Issue
Block a user