mirror of
https://github.com/jumpserver/lina.git
synced 2025-09-03 16:06:13 +00:00
@@ -1150,6 +1150,10 @@
|
|||||||
"reply": "Reply",
|
"reply": "Reply",
|
||||||
"status": "Status",
|
"status": "Status",
|
||||||
"title": "Title",
|
"title": "Title",
|
||||||
|
"RelevantApp": "App",
|
||||||
|
"RelevantAsset": "Asset",
|
||||||
|
"RelevantCommand": "Command",
|
||||||
|
"RelevantSystemUser": "System user",
|
||||||
"type": "Type",
|
"type": "Type",
|
||||||
"user": "User",
|
"user": "User",
|
||||||
"Status": "Status",
|
"Status": "Status",
|
||||||
|
@@ -1182,6 +1182,10 @@
|
|||||||
"reply": "返信",
|
"reply": "返信",
|
||||||
"status": "ステータス",
|
"status": "ステータス",
|
||||||
"title": "タイトル",
|
"title": "タイトル",
|
||||||
|
"RelevantApp": "するアプリケーション",
|
||||||
|
"RelevantAsset": "する資産",
|
||||||
|
"RelevantCommand": "するコマンド",
|
||||||
|
"RelevantSystemUser": "するシステムユーザー",
|
||||||
"action": "アクション",
|
"action": "アクション",
|
||||||
"type": "タイプ",
|
"type": "タイプ",
|
||||||
"user": "ユーザー",
|
"user": "ユーザー",
|
||||||
|
@@ -1183,6 +1183,10 @@
|
|||||||
"reply": "回复",
|
"reply": "回复",
|
||||||
"status": "状态",
|
"status": "状态",
|
||||||
"title": "标题",
|
"title": "标题",
|
||||||
|
"RelevantApp": "应用",
|
||||||
|
"RelevantAsset": "资产",
|
||||||
|
"RelevantCommand": "命令",
|
||||||
|
"RelevantSystemUser": "系统用户",
|
||||||
"action": "动作",
|
"action": "动作",
|
||||||
"type": "类型",
|
"type": "类型",
|
||||||
"user": "用户",
|
"user": "用户",
|
||||||
|
@@ -37,10 +37,13 @@ export function encryptPassword(password) {
|
|||||||
if (!password) {
|
if (!password) {
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
|
let rsaPublicKeyText = getCookie('jms_public_key')
|
||||||
|
if (!rsaPublicKeyText) {
|
||||||
|
return password
|
||||||
|
}
|
||||||
const aesKey = (Math.random() + 1).toString(36).substring(2)
|
const aesKey = (Math.random() + 1).toString(36).substring(2)
|
||||||
// public key 是 base64 存储的
|
// public key 是 base64 存储的
|
||||||
const rsaPublicKeyText = getCookie('jms_public_key')
|
rsaPublicKeyText = rsaPublicKeyText.replaceAll('"', '')
|
||||||
.replaceAll('"', '')
|
|
||||||
const rsaPublicKey = atob(rsaPublicKeyText)
|
const rsaPublicKey = atob(rsaPublicKeyText)
|
||||||
const keyCipher = rsaEncrypt(aesKey, rsaPublicKey)
|
const keyCipher = rsaEncrypt(aesKey, rsaPublicKey)
|
||||||
const passwordCipher = aesEncrypt(password, aesKey)
|
const passwordCipher = aesEncrypt(password, aesKey)
|
||||||
|
@@ -2,14 +2,14 @@ import { ORACLE, MONGODB, REDIS } from '../const'
|
|||||||
|
|
||||||
export function getDatabaseTypeFieldsMap(type) {
|
export function getDatabaseTypeFieldsMap(type) {
|
||||||
const baseParams = ['host', 'port', 'database']
|
const baseParams = ['host', 'port', 'database']
|
||||||
const tlsParams = ['use_ssl', 'allow_invalid_cert', 'ca_cert']
|
const tlsParams = ['use_ssl', 'ca_cert']
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case ORACLE:
|
case ORACLE:
|
||||||
return baseParams.concat(['version'])
|
return baseParams.concat(['version'])
|
||||||
case REDIS:
|
case REDIS:
|
||||||
return baseParams.concat(tlsParams.concat(['client_cert', 'cert_key']))
|
return baseParams.concat(tlsParams.concat(['client_cert', 'cert_key']))
|
||||||
case MONGODB:
|
case MONGODB:
|
||||||
return baseParams.concat(tlsParams.concat(['cert_key']))
|
return baseParams.concat(tlsParams.concat(['cert_key', 'allow_invalid_cert']))
|
||||||
default:
|
default:
|
||||||
return baseParams
|
return baseParams
|
||||||
}
|
}
|
||||||
|
@@ -141,7 +141,7 @@ export default {
|
|||||||
valueLabel: this.$t('tickets.Pending')
|
valueLabel: this.$t('tickets.Pending')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
exclude: ['state'],
|
exclude: ['state', 'id', 'title'],
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
value: 'state',
|
value: 'state',
|
||||||
@@ -162,6 +162,30 @@ export default {
|
|||||||
label: this.$t('tickets.Rejected')
|
label: this.$t('tickets.Rejected')
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'id',
|
||||||
|
label: 'ID'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'title',
|
||||||
|
label: this.$t('tickets.title')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'relevant_app',
|
||||||
|
label: this.$t('tickets.RelevantApp')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'relevant_asset',
|
||||||
|
label: this.$t('tickets.RelevantAsset')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'relevant_system_user',
|
||||||
|
label: this.$t('tickets.RelevantCommand')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'relevant_command',
|
||||||
|
label: this.$t('tickets.RelevantSystemUser')
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@@ -42,7 +42,8 @@ export default {
|
|||||||
InviteLoading: false,
|
InviteLoading: false,
|
||||||
formConfig: {
|
formConfig: {
|
||||||
url: '/api/v1/users/users/invite/',
|
url: '/api/v1/users/users/invite/',
|
||||||
method: 'post',
|
getUrl: () => '/api/v1/users/users/invite/',
|
||||||
|
submitMethod: () => 'post',
|
||||||
hasReset: false,
|
hasReset: false,
|
||||||
hasSaveContinue: false,
|
hasSaveContinue: false,
|
||||||
createSuccessMsg: this.$t('users.InviteSuccess'),
|
createSuccessMsg: this.$t('users.InviteSuccess'),
|
||||||
|
Reference in New Issue
Block a user