diff --git a/src/i18n/langs/en.json b/src/i18n/langs/en.json
index bf84b9c3a..0183632e3 100644
--- a/src/i18n/langs/en.json
+++ b/src/i18n/langs/en.json
@@ -149,7 +149,9 @@
"Rules": "Rule",
"Action": "Action",
"ipGroupHelpText": "* means match all. Example: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64",
- "apply_login_account": "Apply login account"
+ "apply_login_account": "Apply login account",
+ "UserIP": "Login IP",
+ "LoginIP": "Login IP"
},
"applications": {
"": "",
@@ -469,9 +471,8 @@
"ReLoginErr": "Login time has exceeded 5 minutes, please login again"
},
"common": {
- "BatchProcessing": "Select {Number} items",
- "Generate": "Generate",
"BatchProcessing": "Batch processing(select {Number} items)",
+ "Generate": "Generate",
"ServerError": "Server Error",
"CommunityEdition": "Community Edition",
"EnterpriseEdition": "Enterprise Edition",
@@ -838,7 +839,16 @@
"MatchIn": "In ...",
"RelNot": "Not",
"RelOr": "Or",
- "Relation": "Relation"
+ "Relation": "Relation",
+ "Email": "Email",
+ "SelectAttrs": "Select attrs",
+ "MatchResult": "Match results",
+ "MatchedCount": "Match count",
+ "IsActive": "Is active",
+ "LessEqualThan": "Less than or equal to",
+ "OtherRules": "Other rules",
+ "BelongTo": "Belong to",
+ "GreatEqualThan": "Greater than or equal to"
},
"dashboard": {
"ActiveAsset": "Asset active",
@@ -1357,7 +1367,14 @@
"Execution": "Execution history",
"AssignedTicketList": "Todo approval",
"JobDetail": "Job detail",
- "Clouds": "Cloud"
+ "Clouds": "Cloud",
+ "Acls": "Acls",
+ "UserLoginAclCreate": "Create user login acl",
+ "UserLoginAclUpdate": "Update user login acl",
+ "UserLoginAclList": "User login acl",
+ "ConnectMethodAclCreate": "Create connect method acl",
+ "ConnectMethodAclList": "Connect method acl",
+ "ConnectMethodAclUpdate": "Update connect method acl"
},
"rbac": {
"Permissions": "Permissions",
@@ -1374,7 +1391,9 @@
"HostDeployment": "Remote host deployment",
"TerminalStat": "CPU/MEM/DISK",
"DatabasePort": "Database protocol port",
- "BasePort": "listening port"
+ "BasePort": "listening port",
+ "Endpoint": "Endpoint",
+ "ConnectMethod": "Connect method"
},
"sessions": {
"SetToDefaultStorage": "Set to default storage",
@@ -2154,4 +2173,4 @@
"PublishStatus": "Publish status",
"NoPublished": "Unpublished"
}
-}
+}
\ No newline at end of file
diff --git a/src/i18n/langs/ja.json b/src/i18n/langs/ja.json
index d4cbbcb90..dfd636ce3 100644
--- a/src/i18n/langs/ja.json
+++ b/src/i18n/langs/ja.json
@@ -149,7 +149,9 @@
"apply_login_user": "ログインユーザーの申請",
"login_confirm_user": "登録再確認受付者",
"RuleDetail": "ルールの詳細",
- "apply_login_account": "ログインアカウントの申請"
+ "apply_login_account": "ログインアカウントの申請",
+ "UserIP": "ログインIP",
+ "LoginIP": "ログインIP"
},
"applications": {
"": "",
@@ -469,9 +471,8 @@
"ReLoginErr": "ログイン時間が 5 分を超えました。もう一度ログインしてください"
},
"common": {
- "BatchProcessing": "選択 {Number} 項目",
- "Generate": "生成",
"BatchProcessing": "一括処理(選択 {Number} 項目)",
+ "Generate": "生成",
"ServerError": "サーバーエラー",
"RestoreDefault": "デフォルトに戻す",
"DownloadCenter": "ダウンロードセンター",
@@ -837,7 +838,16 @@
"MatchIn": "以下のいずれかに一致する",
"RelNot": "でない",
"RelOr": "または",
- "Relation": "関係"
+ "Relation": "関係",
+ "Email": "Email",
+ "SelectAttrs": "選擇屬性",
+ "MatchResult": "マッチ結果",
+ "MatchedCount": "一致する結果",
+ "IsActive": "アクティブです",
+ "LessEqualThan": "以下または等しい",
+ "OtherRules": "他のルール",
+ "BelongTo": "所属する",
+ "GreatEqualThan": "以上または等しい"
},
"dashboard": {
"TotalJobLog": "ジョブ実行総数",
@@ -1352,7 +1362,14 @@
"AppletHostCreate": "リモート アプリケーション発行者を追加する",
"Execution": "実行履歴",
"JobDetail": "仕事の詳細",
- "Clouds": "クラウド プラットフォーム"
+ "Clouds": "クラウド プラットフォーム",
+ "Acls": "ファンアクセスコントロール",
+ "UserLoginAclCreate": "ユーザーログイン制御の作成",
+ "UserLoginAclUpdate": "ユーザーログイン制御ルールの更新",
+ "UserLoginAclList": "ユーザーログイン",
+ "ConnectMethodAclCreate": "接続方式制御の作成",
+ "ConnectMethodAclList": "接続方式",
+ "ConnectMethodAclUpdate": "接続方式制御ルールの更新"
},
"rbac": {
"Permissions": "権限",
@@ -1369,7 +1386,9 @@
"HostDeployment": "パブリッシャーの導入",
"TerminalStat": "CPU/メモリ/ディスク",
"DatabasePort": "データベース プロトコル ポート",
- "BasePort": "リスニング ポート"
+ "BasePort": "リスニング ポート",
+ "Endpoint": "エンドポイント",
+ "ConnectMethod": "接続方式"
},
"sessions": {
"SetToDefaultStorage": "デフォルトストレージに設定",
@@ -2146,4 +2165,4 @@
"PublishStatus": "投稿ステータス",
"NoPublished": "未発表"
}
-}
+}
\ No newline at end of file
diff --git a/src/i18n/langs/zh.json b/src/i18n/langs/zh.json
index 249f716d7..831565a4a 100644
--- a/src/i18n/langs/zh.json
+++ b/src/i18n/langs/zh.json
@@ -115,6 +115,10 @@
}
},
"acl": {
+ "CommandFilterACLHelpMsg": "通过命令过滤,您可以控制命令是否可以发送到资产上。根据您设定的规则,某些命令可以被放行,而另一些命令则被禁止。",
+ "AssetLoginACLHelpMsg": "登录资产时,可以根据用户的登录 IP 和时间段进行审核,判断是否可以登录资产",
+ "UserLoginACLHelpMsg": "登录系统时,可以根据用户的登录 IP 和时间段进行审核,判断是否可以登录系统",
+ "ConnectMethodACLHelpMsg": "通过连接方式过滤,您可以控制用户是否可以使用某种连接方式登录到资产上。根据您设定的规则,某些连接方式可以被放行,而另一些连接方式则被禁止。",
"LoginIP": "登录 IP",
"UserIP": "登录 IP",
"apply_login_account": "申请登录账号",
@@ -1079,6 +1083,7 @@
},
"perms": {
"": "",
+ "AssetPermissionHelpMsg": "资产授权允许您选择用户和资产,将资产授权给用户以便访问。一旦授权完成,用户便可便捷地浏览这些资产。此外,您还可以设置特定的权限位,以进一步定义用户对资产的权限范围。",
"AccountsHelp": "所有账号: 资产上已添加的所有账号;
指定账号:指定资产下账号的用户名;
手动账号: 用户名/密码 登录时手动输入;
同名账号: 与被授权人用户名相同的账号;",
"AllAccounts": "所有账号",
"AllAccountTip": "资产上已添加的所有账号",
@@ -1150,6 +1155,13 @@
},
"route": {
"": "",
+ "Acls": "访问控制",
+ "UserLoginAclCreate": "创建用户登录控制",
+ "UserLoginAclList": "用户登录",
+ "UserLoginAclUpdate": "更新用户登录控制",
+ "ConnectMethodAclList": "连接方式",
+ "ConnectMethodAclCreate": "创建连接方式控制",
+ "ConnectMethodAclUpdate": "更新连接方式控制",
"AppletDetail": "远程应用",
"AppletHostDetail": "远程应用发布机详情",
"AppletHostCreate": "添加远程应用发布机",
@@ -1220,7 +1232,7 @@
"CommandExecutions": "命令执行",
"CommandFilterCreate": "创建命令过滤器",
"CommandFilterDetail": "命令过滤器详情",
- "CommandFilterList": "命令过滤",
+ "CommandFilterList": "命令过滤规则",
"CommandFilterRulesCreate": "创建命令过滤器规则",
"CommandFilterRulesUpdate": "更新命令过滤器规则",
"CommandFilterUpdate": "更新命令过滤器",
@@ -1369,7 +1381,8 @@
"uploadZipTips": "请上传 zip 格式的文件",
"HostDeployment": "发布机部署",
"TerminalStat": "CPU/内存/磁盘",
- "Endpoint": "端点"
+ "Endpoint": "端点",
+ "ConnectMethod": "连接方式"
},
"sessions": {
"SetToDefaultStorage": "设置为默认存储",
diff --git a/src/icons/svg/unlock.svg b/src/icons/svg/unlock.svg
new file mode 100644
index 000000000..8824afb62
--- /dev/null
+++ b/src/icons/svg/unlock.svg
@@ -0,0 +1 @@
+
diff --git a/src/router/console/acls.js b/src/router/console/acls.js
new file mode 100644
index 000000000..9e561dc14
--- /dev/null
+++ b/src/router/console/acls.js
@@ -0,0 +1,227 @@
+import i18n from '@/i18n/i18n'
+import empty from '@/layout/empty'
+
+export default [
+ {
+ path: 'login-asset-acls',
+ component: empty,
+ redirect: '',
+ meta: {
+ title: i18n.t('route.AssetAclList'),
+ licenseRequired: true,
+ app: 'acls',
+ resource: 'loginassetacl'
+ },
+ children: [
+ {
+ path: '',
+ name: 'AssetAclList',
+ component: () => import('@/views/acl/AssetLoginAcl/AssetLoginAclList.vue'),
+ meta: { title: i18n.t('route.AssetAclList') }
+ },
+ {
+ path: 'create',
+ name: 'AssetAclCreate',
+ component: () => import('@/views/acl/AssetLoginAcl/AssetLoginAclCreateUpdate.vue'),
+ hidden: true,
+ meta: { title: i18n.t('route.AssetAclCreate') }
+ },
+ {
+ path: ':id',
+ name: 'AssetAclDetail',
+ component: () => import('@/views/acl/AssetLoginAcl/AssetLoginAclDetail/index'),
+ hidden: true,
+ meta: { title: i18n.t('route.AssetAclDetail') }
+ },
+ {
+ path: ':id/update',
+ name: 'AssetAclUpdate',
+ component: () => import('@/views/acl/AssetLoginAcl/AssetLoginAclCreateUpdate.vue'),
+ hidden: true,
+ meta: { title: i18n.t('route.AssetAclUpdate') }
+ }
+ ]
+ },
+ {
+ path: 'cmd-acls',
+ component: empty,
+ redirect: '',
+ meta: {
+ title: i18n.t('route.CommandFilterAclList'),
+ app: 'acls',
+ resource: 'commandfilteracl',
+ activeMenu: '/console/perms/cmd-acls'
+ },
+ children: [
+ // Command Filter ACL
+ {
+ path: '',
+ name: 'CommandFilterAclList',
+ component: () => import('@/views/acl/CommandAcl/index'),
+ hidden: true,
+ meta: { title: i18n.t('route.CommandFilterAclList') }
+ },
+ {
+ path: 'create',
+ name: 'CommandFilterAclCreate',
+ component: () => import('@/views/acl/CommandAcl/CommandFilterAcl/CommandFilterAclCreateUpdate'),
+ hidden: true,
+ meta: { title: i18n.t('route.CommandFilterAclCreate') }
+ },
+ {
+ path: ':id',
+ name: 'CommandFilterAclDetail',
+ component: () => import('@/views/acl/CommandAcl/CommandFilterAcl/CommandFilterAclDetail/index'),
+ hidden: true,
+ meta: { title: i18n.t('route.CommandFilterAclDetail') }
+ },
+ {
+ path: ':id/update',
+ name: 'CommandFilterAclUpdate',
+ component: () => import('@/views/acl/CommandAcl/CommandFilterAcl/CommandFilterAclCreateUpdate'),
+ hidden: true,
+ meta: { title: i18n.t('route.CommandFilterAclUpdate') }
+ }
+ ]
+ },
+ {
+ path: 'cmd-groups',
+ component: empty,
+ redirect: '',
+ meta: {
+ title: i18n.t('route.CommandGroupList'),
+ app: 'acls',
+ resource: 'commandgroup',
+ activeMenu: '/console/perms/cmd-acls'
+ },
+ hidden: true,
+ children: [
+ // Command Group
+ {
+ path: '',
+ name: 'CommandGroupList',
+ component: () => import('@/views/acl/CommandAcl/index'),
+ hidden: true,
+ meta: {
+ title: i18n.t('route.CommandGroupList'),
+ activeMenu: '/console/perms/cmd-acls'
+ }
+ },
+ {
+ path: 'create',
+ name: 'CommandGroupCreate',
+ component: () => import('@/views/acl/CommandAcl/CommandGroup/CommandGroupCreateUpdate'),
+ hidden: true,
+ meta: {
+ title: i18n.t('route.CommandGroupCreate'),
+ activeMenu: '/console/perms/cmd-acls'
+ }
+ },
+ {
+ path: ':id',
+ name: 'CommandGroupDetail',
+ component: () => import('@/views/acl/CommandAcl/CommandGroup/CommandGroupDetail/index'),
+ hidden: true,
+ meta: {
+ title: i18n.t('route.CommandGroupDetail'),
+ activeMenu: '/console/perms/cmd-acls'
+ }
+ },
+ {
+ path: ':id/update',
+ name: 'CommandGroupUpdate',
+ component: () => import('@/views/acl/CommandAcl/CommandGroup/CommandGroupCreateUpdate'),
+ hidden: true,
+ meta: {
+ title: i18n.t('route.CommandGroupUpdate'),
+ activeMenu: '/console/perms/cmd-acls'
+ }
+ }
+ ]
+ },
+ {
+ path: 'login-acls',
+ component: empty,
+ redirect: '',
+ meta: {
+ title: i18n.t('route.UserLoginAclList'),
+ app: 'acls',
+ resource: 'loginacl'
+ },
+ children: [
+ {
+ path: '',
+ name: 'UserLoginAclList',
+ component: () => import('@/views/acl/UserLoginACL/UserLoginACLList.vue'),
+ meta: { title: i18n.t('route.UserLoginAclList') }
+ },
+ {
+ path: 'create',
+ name: 'UserLoginAclCreate',
+ component: () => import('@/views/acl/UserLoginACL/UserLoginACLCreateUpdate.vue'),
+ hidden: true,
+ meta: {
+ title: i18n.t('route.UserLoginAclCreate')
+ }
+ },
+ {
+ path: ':id',
+ name: 'UserLoginAclDetail',
+ component: () => import('@/views/acl/UserLoginACL/UserDetail/index'),
+ hidden: true,
+ meta: {
+ title: i18n.t('route.AssetAclDetail'),
+ app: 'acls',
+ resource: 'loginacl'
+ }
+ },
+ {
+ path: ':id/update',
+ name: 'UserLoginAclUpdate',
+ component: () => import('@/views/acl/UserLoginACL/UserLoginACLCreateUpdate.vue'),
+ hidden: true,
+ meta: { title: i18n.t('route.UserLoginAclUpdate') }
+ }
+ ]
+ },
+ {
+ path: 'connect-method-acls',
+ component: empty,
+ redirect: '',
+ meta: {
+ title: i18n.t('route.ConnectMethodList'),
+ licenseRequired: true,
+ app: 'acls',
+ resource: 'connectmethodacl'
+ },
+ children: [
+ {
+ path: '',
+ name: 'ConnectMethodAclList',
+ component: () => import('@/views/acl/ConnectMethodAcl/ConnectMethodAclList.vue'),
+ meta: { title: i18n.t('route.ConnectMethodAclList') }
+ },
+ {
+ path: 'create',
+ name: 'ConnectMethodAclCreate',
+ component: () => import('@/views/acl/ConnectMethodAcl/ConnectMethodAclCreateUpdate.vue'),
+ hidden: true,
+ meta: { title: i18n.t('route.ConnectMethodAclCreate') }
+ },
+ {
+ path: ':id',
+ name: 'ConnectMethodAclDetail',
+ component: () => import('@/views/acl/AssetLoginAcl/AssetLoginAclDetail/index'),
+ hidden: true,
+ meta: { title: i18n.t('route.AssetAclDetail') }
+ },
+ {
+ path: ':id/update',
+ name: 'ConnectMethodAclUpdate',
+ component: () => import('@/views/acl/ConnectMethodAcl/ConnectMethodAclCreateUpdate.vue'),
+ hidden: true,
+ meta: { title: i18n.t('route.ConnectMethodAclUpdate') }
+ }
+ ]
+ }
+]
diff --git a/src/router/console/index.js b/src/router/console/index.js
index 66e1296ae..17f60d7da 100644
--- a/src/router/console/index.js
+++ b/src/router/console/index.js
@@ -68,12 +68,14 @@ export default {
path: '/console/perms',
component: empty,
name: 'Perms',
+ alwaysShow: false,
meta: {
title: i18n.t('route.Perms'),
icon: 'permission'
},
children: PermsRoute
}
+
]
}
diff --git a/src/router/console/perms.js b/src/router/console/perms.js
index 8c20d0616..63b5daf30 100644
--- a/src/router/console/perms.js
+++ b/src/router/console/perms.js
@@ -1,5 +1,6 @@
import i18n from '@/i18n/i18n'
import empty from '@/layout/empty'
+import ACLRoutes from '@/router/console/acls'
export default [
{
@@ -39,141 +40,5 @@ export default [
}
]
},
- {
- path: 'login-asset-acls',
- component: empty,
- redirect: '',
- meta: {
- title: i18n.t('route.AssetAclList'),
- licenseRequired: true,
- app: 'acls',
- resource: 'loginassetacl'
- },
- children: [
- {
- path: '',
- name: 'AssetAclList',
- component: () => import('@/views/acl/AssetAcl/AssetAclList'),
- meta: { title: i18n.t('route.AssetAclList') }
- },
- {
- path: 'create',
- name: 'AssetAclCreate',
- component: () => import('@/views/acl/AssetAcl/AssetAclCreateUpdate'),
- hidden: true,
- meta: { title: i18n.t('route.AssetAclCreate') }
- },
- {
- path: ':id',
- name: 'AssetAclDetail',
- component: () => import('@/views/acl/AssetAcl/AssetAclDetail/index'),
- hidden: true,
- meta: { title: i18n.t('route.AssetAclDetail') }
- },
- {
- path: ':id/update',
- name: 'AssetAclUpdate',
- component: () => import('@/views/acl/AssetAcl/AssetAclCreateUpdate'),
- hidden: true,
- meta: { title: i18n.t('route.AssetAclUpdate') }
- }
- ]
- },
- {
- path: 'cmd-acls',
- component: empty,
- redirect: '',
- meta: {
- title: i18n.t('route.CommandFilterAclList'),
- app: 'acls',
- resource: 'commandfilteracl',
- activeMenu: '/console/perms/cmd-acls'
- },
- children: [
- // Command Filter ACL
- {
- path: '',
- name: 'CommandFilterAclList',
- component: () => import('@/views/acl/CommandAcl/index'),
- hidden: true,
- meta: { title: i18n.t('route.CommandFilterAclList') }
- },
- {
- path: 'create',
- name: 'CommandFilterAclCreate',
- component: () => import('@/views/acl/CommandAcl/CommandFilterAcl/CommandFilterAclCreateUpdate'),
- hidden: true,
- meta: { title: i18n.t('route.CommandFilterAclCreate') }
- },
- {
- path: ':id',
- name: 'CommandFilterAclDetail',
- component: () => import('@/views/acl/CommandAcl/CommandFilterAcl/CommandFilterAclDetail/index'),
- hidden: true,
- meta: { title: i18n.t('route.CommandFilterAclDetail') }
- },
- {
- path: ':id/update',
- name: 'CommandFilterAclUpdate',
- component: () => import('@/views/acl/CommandAcl/CommandFilterAcl/CommandFilterAclCreateUpdate'),
- hidden: true,
- meta: { title: i18n.t('route.CommandFilterAclUpdate') }
- }
- ]
- },
- {
- path: 'cmd-groups',
- component: empty,
- redirect: '',
- meta: {
- title: i18n.t('route.CommandGroupList'),
- app: 'acls',
- resource: 'commandgroup',
- activeMenu: '/console/perms/cmd-acls'
- },
- hidden: true,
- children: [
- // Command Group
- {
- path: '',
- name: 'CommandGroupList',
- component: () => import('@/views/acl/CommandAcl/index'),
- hidden: true,
- meta: {
- title: i18n.t('route.CommandGroupList'),
- activeMenu: '/console/perms/cmd-acls'
- }
- },
- {
- path: 'create',
- name: 'CommandGroupCreate',
- component: () => import('@/views/acl/CommandAcl/CommandGroup/CommandGroupCreateUpdate'),
- hidden: true,
- meta: {
- title: i18n.t('route.CommandGroupCreate'),
- activeMenu: '/console/perms/cmd-acls'
- }
- },
- {
- path: ':id',
- name: 'CommandGroupDetail',
- component: () => import('@/views/acl/CommandAcl/CommandGroup/CommandGroupDetail/index'),
- hidden: true,
- meta: {
- title: i18n.t('route.CommandGroupDetail'),
- activeMenu: '/console/perms/cmd-acls'
- }
- },
- {
- path: ':id/update',
- name: 'CommandGroupUpdate',
- component: () => import('@/views/acl/CommandAcl/CommandGroup/CommandGroupCreateUpdate'),
- hidden: true,
- meta: {
- title: i18n.t('route.CommandGroupUpdate'),
- activeMenu: '/console/perms/cmd-acls'
- }
- }
- ]
- }
+ ...ACLRoutes
]
diff --git a/src/router/console/sessions.js b/src/router/console/sessions.js
index 366adbbc4..6997519c3 100644
--- a/src/router/console/sessions.js
+++ b/src/router/console/sessions.js
@@ -2,7 +2,6 @@ import i18n from '@/i18n/i18n'
import empty from '@/layout/empty'
import { BASE_URL } from '@/utils/common'
-// Todo: 放到系统设置中
export default [
{
path: 'sessions',
diff --git a/src/router/console/users.js b/src/router/console/users.js
index 5fcb3f206..ca90d6c3b 100644
--- a/src/router/console/users.js
+++ b/src/router/console/users.js
@@ -44,47 +44,6 @@ export default [
name: 'UserDetail',
hidden: true,
meta: { title: i18n.t('route.UserDetail') }
- },
- {
- path: 'user-acl',
- component: empty,
- redirect: '',
- hidden: true,
- meta: {
- title: i18n.t('route.UserLoginACLList'),
- app: 'acls',
- resource: 'loginacl'
- },
- children: [
- {
- path: '',
- name: 'UserLoginACLList',
- component: () => import('@/views/acl/UserLoginACL/UserLoginACLList'),
- hidden: true,
- meta: { title: i18n.t('route.UserLoginACLList') }
- },
- {
- path: 'create',
- name: 'UserLoginACLCreate',
- component: () => import('@/views/acl/UserLoginACL/UserLoginACLCreateUpdate'),
- hidden: true,
- meta: { title: i18n.t('route.UserLoginACLCreate') }
- },
- {
- path: ':id',
- name: 'UserLoginACLDetail',
- component: () => import('@/views/acl/UserLoginACL/UserDetail/index'),
- hidden: true,
- meta: { title: i18n.t('route.UserLoginACLDetail') }
- },
- {
- path: ':id/update',
- name: 'UserLoginACLUpdate',
- component: () => import('@/views/acl/UserLoginACL/UserLoginACLCreateUpdate'),
- hidden: true,
- meta: { title: i18n.t('route.UserLoginACLUpdate') }
- }
- ]
}
]
},
diff --git a/src/utils/startup.js b/src/utils/startup.js
index 0110e91b3..3c20d4562 100644
--- a/src/utils/startup.js
+++ b/src/utils/startup.js
@@ -107,7 +107,10 @@ export async function generatePageRoutes({ to, from, next }) {
hidden: true
}]
// dynamically add accessible routes
- Vue.$log.debug('All routes:', accessRoutes)
+ Vue.$log.debug('All routes:', accessRoutes.reduce((acc, cur) => {
+ acc[cur.name] = cur
+ return acc
+ }, {}))
router.addRoutes(accessRoutes)
await store.dispatch('permission/generateViewRoutes', { to, from })
diff --git a/src/views/acl/AssetAcl/AssetAclCreateUpdate.vue b/src/views/acl/AssetLoginAcl/AssetLoginAclCreateUpdate.vue
similarity index 96%
rename from src/views/acl/AssetAcl/AssetAclCreateUpdate.vue
rename to src/views/acl/AssetLoginAcl/AssetLoginAclCreateUpdate.vue
index 495237b06..5a4c4736f 100644
--- a/src/views/acl/AssetAcl/AssetAclCreateUpdate.vue
+++ b/src/views/acl/AssetLoginAcl/AssetLoginAclCreateUpdate.vue
@@ -19,11 +19,9 @@ export default {
return {
initial: {
accounts: ['@ALL'],
- rules: [
- {
- ip_group: ['*']
- }
- ]
+ rules: {
+ ip_group: ['*']
+ }
},
fields: [
[this.$t('common.Basic'), ['name', 'priority']],
diff --git a/src/views/acl/AssetAcl/AssetAclDetail/Detail.vue b/src/views/acl/AssetLoginAcl/AssetLoginAclDetail/Detail.vue
similarity index 100%
rename from src/views/acl/AssetAcl/AssetAclDetail/Detail.vue
rename to src/views/acl/AssetLoginAcl/AssetLoginAclDetail/Detail.vue
diff --git a/src/views/acl/AssetAcl/AssetAclDetail/index.vue b/src/views/acl/AssetLoginAcl/AssetLoginAclDetail/index.vue
similarity index 100%
rename from src/views/acl/AssetAcl/AssetAclDetail/index.vue
rename to src/views/acl/AssetLoginAcl/AssetLoginAclDetail/index.vue
diff --git a/src/views/acl/AssetAcl/AssetAclList.vue b/src/views/acl/AssetLoginAcl/AssetLoginAclList.vue
similarity index 81%
rename from src/views/acl/AssetAcl/AssetAclList.vue
rename to src/views/acl/AssetLoginAcl/AssetLoginAclList.vue
index 3365fda99..c14c997e5 100644
--- a/src/views/acl/AssetAcl/AssetAclList.vue
+++ b/src/views/acl/AssetLoginAcl/AssetLoginAclList.vue
@@ -1,5 +1,5 @@
-
+
+
+
diff --git a/src/views/acl/ConnectMethodAcl/ConnectMethodAclList.vue b/src/views/acl/ConnectMethodAcl/ConnectMethodAclList.vue
new file mode 100644
index 000000000..6b0b1e1b1
--- /dev/null
+++ b/src/views/acl/ConnectMethodAcl/ConnectMethodAclList.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
diff --git a/src/views/acl/UserLoginACL/UserDetail/index.vue b/src/views/acl/UserLoginACL/UserDetail/index.vue
index ff826782e..59bc548cb 100644
--- a/src/views/acl/UserLoginACL/UserDetail/index.vue
+++ b/src/views/acl/UserLoginACL/UserDetail/index.vue
@@ -1,5 +1,5 @@
-
+
@@ -9,6 +9,7 @@
+
+
diff --git a/src/views/perms/AssetPermission/AssetPermissionList.vue b/src/views/perms/AssetPermission/AssetPermissionList.vue
index 4b11b60b5..c19495d44 100644
--- a/src/views/perms/AssetPermission/AssetPermissionList.vue
+++ b/src/views/perms/AssetPermission/AssetPermissionList.vue
@@ -1,5 +1,5 @@
-
+
+
+
+
+
+
+
diff --git a/src/views/users/User/UserDetail/index.vue b/src/views/users/User/UserDetail/index.vue
index 0f576137f..61efe4bbb 100644
--- a/src/views/users/User/UserDetail/index.vue
+++ b/src/views/users/User/UserDetail/index.vue
@@ -10,14 +10,14 @@
import { GenericDetailPage } from '@/layout/components'
import UserAssetPermissionRules from './UserAssetPermissionRules'
import UserGrantedAssets from './UserGrantedAssets'
-import UserLoginACLList from '@/views/acl/UserLoginACL/UserLoginACLList'
import UserInfo from './UserInfo'
+import UserLoginAcl from './UserLoginAcl.vue'
import { mapGetters } from 'vuex'
export default {
components: {
UserInfo,
- UserLoginACLList,
+ UserLoginAcl,
GenericDetailPage,
UserGrantedAssets,
UserAssetPermissionRules
@@ -51,7 +51,7 @@ export default {
},
{
title: this.$t('route.UserAclLists'),
- name: 'UserLoginACLList',
+ name: 'UserLoginAcl',
hidden: () => !vm.$hasPerm('acls.view_loginacl')
}
]