mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 10:02:46 +00:00
fix: Resource authorization permission
This commit is contained in:
parent
91f68781fe
commit
3cf6dde72b
|
|
@ -171,7 +171,19 @@ const systemRouter = {
|
|||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
sameRoute: 'authorization',
|
||||
permission: [RoleConst.ADMIN],
|
||||
permission: [new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||
[PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||
PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),
|
||||
new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||
[PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||
PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),
|
||||
new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||
[PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||
PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),
|
||||
new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||
[PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||
PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),
|
||||
],
|
||||
},
|
||||
|
||||
children: [
|
||||
|
|
@ -184,14 +196,11 @@ const systemRouter = {
|
|||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
resource: 'APPLICATION',
|
||||
sameRoute: 'authorization',
|
||||
permission: [new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||
[PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||
PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),]
|
||||
},
|
||||
permission: [
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE,
|
||||
PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||
PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_READ
|
||||
.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
component: () => import('@/views/system/resource-authorization/index.vue'),
|
||||
},
|
||||
{
|
||||
|
|
@ -203,13 +212,10 @@ const systemRouter = {
|
|||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
resource: 'KNOWLEDGE',
|
||||
permission: [
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE,
|
||||
PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||
PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ
|
||||
.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
sameRoute: 'authorization',
|
||||
permission: [new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||
[PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||
PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),]
|
||||
},
|
||||
component: () => import('@/views/system/resource-authorization/index.vue'),
|
||||
},
|
||||
|
|
@ -222,13 +228,10 @@ const systemRouter = {
|
|||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
resource: 'TOOL',
|
||||
permission: [
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE,
|
||||
PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||
PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ
|
||||
.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
sameRoute: 'authorization',
|
||||
permission: [new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||
[PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||
PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),]
|
||||
},
|
||||
component: () => import('@/views/system/resource-authorization/index.vue'),
|
||||
},
|
||||
|
|
@ -241,13 +244,10 @@ const systemRouter = {
|
|||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
resource: 'MODEL',
|
||||
permission: [
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE,
|
||||
PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||
PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ
|
||||
.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
sameRoute: 'authorization',
|
||||
permission: [new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||
[PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||
PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),]
|
||||
},
|
||||
component: () => import('@/views/system/resource-authorization/index.vue'),
|
||||
},
|
||||
|
|
|
|||
|
|
@ -237,16 +237,16 @@ const PermissionConst = {
|
|||
'MODEL_WORKSPACE_USER_RESOURCE_PERMISSION:READ',
|
||||
),
|
||||
APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT: new Permission(
|
||||
'APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT:READ+EDIT',
|
||||
'APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION:READ+EDIT',
|
||||
),
|
||||
KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT: new Permission(
|
||||
'KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT:READ+EDIT',
|
||||
'KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION:READ+EDIT',
|
||||
),
|
||||
TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT: new Permission(
|
||||
'TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT:READ+EDIT',
|
||||
'TOOL_WORKSPACE_USER_RESOURCE_PERMISSION:READ+EDIT',
|
||||
),
|
||||
MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT: new Permission(
|
||||
'MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT:READ+EDIT',
|
||||
'MODEL_WORKSPACE_USER_RESOURCE_PERMISSION:READ+EDIT',
|
||||
),
|
||||
}
|
||||
const RoleConst = {
|
||||
|
|
|
|||
|
|
@ -81,7 +81,9 @@
|
|||
</div>
|
||||
|
||||
<div class="submit-button">
|
||||
<el-button type="primary" @click="submitPermissions">{{ $t('common.save') }}</el-button>
|
||||
<el-button type="primary" @click="submitPermissions"
|
||||
v-if="hasPermission(permissionObj[(route.meta?.resource as string||'APPLICATION')],'OR')"
|
||||
>{{ $t('common.save') }}</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -99,10 +101,12 @@ import { AuthorizationEnum } from '@/enums/system'
|
|||
import { t } from '@/locales'
|
||||
import useStore from '@/stores'
|
||||
import { cloneDeep } from 'lodash'
|
||||
import { EditionConst } from '@/utils/permission/data'
|
||||
import { EditionConst, RoleConst, PermissionConst } from '@/utils/permission/data'
|
||||
import { hasPermission } from '@/utils/permission/index'
|
||||
import WorkspaceApi from '@/api/workspace/workspace.ts'
|
||||
import type { WorkspaceItem } from '@/api/type/workspace'
|
||||
import { ComplexPermission } from '@/utils/permission/type'
|
||||
|
||||
const route = useRoute()
|
||||
const { user } = useStore()
|
||||
const loading = ref(false)
|
||||
|
|
@ -114,6 +118,21 @@ const currentType = ref<string>('')
|
|||
const filterText = ref('')
|
||||
const tableHeight = ref(0)
|
||||
|
||||
const permissionObj=ref<any>({
|
||||
"APPLICATION":new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||
[PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT,
|
||||
PermissionConst.APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT.getWorkspacePermissionWorkspaceManageRole],[],'OR'),
|
||||
"KNOWLEDGE":new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||
[PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT,
|
||||
PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT.getWorkspacePermissionWorkspaceManageRole],[],'OR'),
|
||||
"TOOL":new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||
[PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT,
|
||||
PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT.getWorkspacePermissionWorkspaceManageRole],[],'OR'),
|
||||
"MODEL":new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||
[PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT,
|
||||
PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT.getWorkspacePermissionWorkspaceManageRole],[],'OR')
|
||||
})
|
||||
console.log(route.meta.resource||'APPLICATION')
|
||||
const settingTags = reactive([
|
||||
{
|
||||
label: t('views.knowledge.title'),
|
||||
|
|
|
|||
Loading…
Reference in New Issue