fix: Resource authorization permission
This commit is contained in:
parent
91f68781fe
commit
3cf6dde72b
@ -171,7 +171,19 @@ const systemRouter = {
|
|||||||
parentPath: '/system',
|
parentPath: '/system',
|
||||||
parentName: 'system',
|
parentName: 'system',
|
||||||
sameRoute: 'authorization',
|
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: [
|
children: [
|
||||||
@ -184,14 +196,11 @@ const systemRouter = {
|
|||||||
parentPath: '/system',
|
parentPath: '/system',
|
||||||
parentName: 'system',
|
parentName: 'system',
|
||||||
resource: 'APPLICATION',
|
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'),
|
component: () => import('@/views/system/resource-authorization/index.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -203,13 +212,10 @@ const systemRouter = {
|
|||||||
parentPath: '/system',
|
parentPath: '/system',
|
||||||
parentName: 'system',
|
parentName: 'system',
|
||||||
resource: 'KNOWLEDGE',
|
resource: 'KNOWLEDGE',
|
||||||
permission: [
|
sameRoute: 'authorization',
|
||||||
RoleConst.ADMIN,
|
permission: [new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||||
RoleConst.WORKSPACE_MANAGE,
|
[PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||||
PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),]
|
||||||
PermissionConst.KNOWLEDGE_WORKSPACE_USER_RESOURCE_PERMISSION_READ
|
|
||||||
.getWorkspacePermissionWorkspaceManageRole,
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
component: () => import('@/views/system/resource-authorization/index.vue'),
|
component: () => import('@/views/system/resource-authorization/index.vue'),
|
||||||
},
|
},
|
||||||
@ -222,13 +228,10 @@ const systemRouter = {
|
|||||||
parentPath: '/system',
|
parentPath: '/system',
|
||||||
parentName: 'system',
|
parentName: 'system',
|
||||||
resource: 'TOOL',
|
resource: 'TOOL',
|
||||||
permission: [
|
sameRoute: 'authorization',
|
||||||
RoleConst.ADMIN,
|
permission: [new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||||
RoleConst.WORKSPACE_MANAGE,
|
[PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||||
PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),]
|
||||||
PermissionConst.TOOL_WORKSPACE_USER_RESOURCE_PERMISSION_READ
|
|
||||||
.getWorkspacePermissionWorkspaceManageRole,
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
component: () => import('@/views/system/resource-authorization/index.vue'),
|
component: () => import('@/views/system/resource-authorization/index.vue'),
|
||||||
},
|
},
|
||||||
@ -241,13 +244,10 @@ const systemRouter = {
|
|||||||
parentPath: '/system',
|
parentPath: '/system',
|
||||||
parentName: 'system',
|
parentName: 'system',
|
||||||
resource: 'MODEL',
|
resource: 'MODEL',
|
||||||
permission: [
|
sameRoute: 'authorization',
|
||||||
RoleConst.ADMIN,
|
permission: [new ComplexPermission([RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE],
|
||||||
RoleConst.WORKSPACE_MANAGE,
|
[PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
||||||
PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ,
|
PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ.getWorkspacePermissionWorkspaceManageRole],[],'OR'),]
|
||||||
PermissionConst.MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_READ
|
|
||||||
.getWorkspacePermissionWorkspaceManageRole,
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
component: () => import('@/views/system/resource-authorization/index.vue'),
|
component: () => import('@/views/system/resource-authorization/index.vue'),
|
||||||
},
|
},
|
||||||
|
|||||||
@ -237,16 +237,16 @@ const PermissionConst = {
|
|||||||
'MODEL_WORKSPACE_USER_RESOURCE_PERMISSION:READ',
|
'MODEL_WORKSPACE_USER_RESOURCE_PERMISSION:READ',
|
||||||
),
|
),
|
||||||
APPLICATION_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT: new Permission(
|
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: 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: 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: new Permission(
|
||||||
'MODEL_WORKSPACE_USER_RESOURCE_PERMISSION_EDIT:READ+EDIT',
|
'MODEL_WORKSPACE_USER_RESOURCE_PERMISSION:READ+EDIT',
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
const RoleConst = {
|
const RoleConst = {
|
||||||
|
|||||||
@ -81,7 +81,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="submit-button">
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -99,10 +101,12 @@ import { AuthorizationEnum } from '@/enums/system'
|
|||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
import useStore from '@/stores'
|
import useStore from '@/stores'
|
||||||
import { cloneDeep } from 'lodash'
|
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 { hasPermission } from '@/utils/permission/index'
|
||||||
import WorkspaceApi from '@/api/workspace/workspace.ts'
|
import WorkspaceApi from '@/api/workspace/workspace.ts'
|
||||||
import type { WorkspaceItem } from '@/api/type/workspace'
|
import type { WorkspaceItem } from '@/api/type/workspace'
|
||||||
|
import { ComplexPermission } from '@/utils/permission/type'
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const { user } = useStore()
|
const { user } = useStore()
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
@ -114,6 +118,21 @@ const currentType = ref<string>('')
|
|||||||
const filterText = ref('')
|
const filterText = ref('')
|
||||||
const tableHeight = ref(0)
|
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([
|
const settingTags = reactive([
|
||||||
{
|
{
|
||||||
label: t('views.knowledge.title'),
|
label: t('views.knowledge.title'),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user