mirror of
https://github.com/didi/KnowStreaming.git
synced 2025-12-24 11:52:08 +08:00
[Optimize]security下的users、acls接入进权限管理(#1089)
This commit is contained in:
@@ -48,6 +48,12 @@ export enum ClustersPermissionMap {
|
|||||||
CONNECTOR_DELETE = 'Connector-删除',
|
CONNECTOR_DELETE = 'Connector-删除',
|
||||||
CONNECTOR_RESTART = 'Connector-重启',
|
CONNECTOR_RESTART = 'Connector-重启',
|
||||||
CONNECTOR_STOP_RESUME = 'Connector-暂停&恢复',
|
CONNECTOR_STOP_RESUME = 'Connector-暂停&恢复',
|
||||||
|
// Security
|
||||||
|
SECURITY_ACL_ADD = 'Security-ACL新增',
|
||||||
|
SECURITY_ACL_DELETE = 'Security-ACL删除',
|
||||||
|
SECURITY_USER_ADD = 'Security-User新增',
|
||||||
|
SECURITY_USER_DELETE = 'Security-User删除',
|
||||||
|
SECURITY_USER_EDIT_PASSWORD = 'Security-User修改密码',
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface PermissionNode {
|
export interface PermissionNode {
|
||||||
@@ -98,9 +104,7 @@ const CommonConfig = () => {
|
|||||||
clustersPermissions.childList.forEach((node: PermissionNode) => node.has && userPermissions.push(node.permissionName));
|
clustersPermissions.childList.forEach((node: PermissionNode) => node.has && userPermissions.push(node.permissionName));
|
||||||
|
|
||||||
// 获取用户在系统管理拥有的权限
|
// 获取用户在系统管理拥有的权限
|
||||||
const configPermissions = userPermissionTree.find(
|
const configPermissions = userPermissionTree.find((sys: PermissionNode) => sys.permissionName === ClustersPermissionMap.SYS_MANAGE);
|
||||||
(sys: PermissionNode) => sys.permissionName === ClustersPermissionMap.SYS_MANAGE
|
|
||||||
);
|
|
||||||
configPermissions &&
|
configPermissions &&
|
||||||
configPermissions.childList.forEach((node: PermissionNode) => node.has && userPermissions.push(node.permissionName));
|
configPermissions.childList.forEach((node: PermissionNode) => node.has && userPermissions.push(node.permissionName));
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import AddACLDrawer, {
|
|||||||
RESOURCE_TO_OPERATIONS_MAP,
|
RESOURCE_TO_OPERATIONS_MAP,
|
||||||
RESOURCE_MAP_KEYS,
|
RESOURCE_MAP_KEYS,
|
||||||
} from './EditDrawer';
|
} from './EditDrawer';
|
||||||
|
import { ClustersPermissionMap } from '../CommonConfig';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
|
|
||||||
const { confirm } = Modal;
|
const { confirm } = Modal;
|
||||||
@@ -105,7 +106,7 @@ const SecurityACLs = (): JSX.Element => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const columns = () => {
|
const columns = () => {
|
||||||
const baseColumns = [
|
const baseColumns: any = [
|
||||||
{
|
{
|
||||||
title: 'Principal',
|
title: 'Principal',
|
||||||
dataIndex: 'kafkaUser',
|
dataIndex: 'kafkaUser',
|
||||||
@@ -143,7 +144,9 @@ const SecurityACLs = (): JSX.Element => {
|
|||||||
title: 'Host',
|
title: 'Host',
|
||||||
dataIndex: 'aclClientHost',
|
dataIndex: 'aclClientHost',
|
||||||
},
|
},
|
||||||
{
|
];
|
||||||
|
if (global.hasPermission && global.hasPermission(ClustersPermissionMap.SECURITY_ACL_DELETE)) {
|
||||||
|
baseColumns.push({
|
||||||
title: '操作',
|
title: '操作',
|
||||||
dataIndex: '',
|
dataIndex: '',
|
||||||
width: 120,
|
width: 120,
|
||||||
@@ -156,8 +159,8 @@ const SecurityACLs = (): JSX.Element => {
|
|||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
});
|
||||||
];
|
}
|
||||||
|
|
||||||
return baseColumns;
|
return baseColumns;
|
||||||
};
|
};
|
||||||
@@ -238,15 +241,19 @@ const SecurityACLs = (): JSX.Element => {
|
|||||||
</Form.Item>
|
</Form.Item>
|
||||||
</Form>
|
</Form>
|
||||||
</div>
|
</div>
|
||||||
<div className={`${tableHeaderPrefix}-right`}>
|
{global.hasPermission && global.hasPermission(ClustersPermissionMap.SECURITY_ACL_ADD) ? (
|
||||||
<Button
|
<div className={`${tableHeaderPrefix}-right`}>
|
||||||
type="primary"
|
<Button
|
||||||
// icon={<PlusOutlined />}
|
type="primary"
|
||||||
onClick={() => editDrawerRef.current.onOpen(true, getACLs)}
|
// icon={<PlusOutlined />}
|
||||||
>
|
onClick={() => editDrawerRef.current.onOpen(true, getACLs)}
|
||||||
新增ACL
|
>
|
||||||
</Button>
|
新增ACL
|
||||||
</div>
|
</Button>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
|
<></>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
<ProTable
|
<ProTable
|
||||||
tableProps={{
|
tableProps={{
|
||||||
|
|||||||
Reference in New Issue
Block a user