From 2e80539e531aea46e8e57fa5d1b8debca9f3bfbe Mon Sep 17 00:00:00 2001 From: Mr Ke <kelq@hugeinfo.com.cn> Date: Fri, 04 Sep 2020 17:13:36 +0800 Subject: [PATCH] 修改避免无权限访问用户管理的菜单权限被滥用的问题 --- src/routeDom/routeDom.jsx | 52 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 35 insertions(+), 17 deletions(-) diff --git a/src/routeDom/routeDom.jsx b/src/routeDom/routeDom.jsx index 7134c1e..cbff7a1 100644 --- a/src/routeDom/routeDom.jsx +++ b/src/routeDom/routeDom.jsx @@ -5,7 +5,7 @@ */ /** Happy Coding */ -import React, { ReactNode, ReactEventHandler, Component } from 'react'; +import React, { ReactNode, ReactEventHandler, Component, useEffect, useState } from 'react'; import { Switch, Route, Redirect } from 'react-router-dom'; // 引进页面(pages) @@ -41,9 +41,18 @@ import RoleDetail from '../module/huge-base/RoleDetail'; //权限管理--角色管理详情 import AuthorityManage from '../module/huge-base/AuthorityManage'; -export default function OaRouteDom({ }) { +export default function RouteDom({ }) { + const [renderUser, setRenderUser] = useState(false); + useEffect(() => { + let menu = window.localStorage.getItem('menu') ? JSON.parse(window.localStorage.getItem('menu')) : [];//获取权限菜单 + let administration = menu.find(({ moduleSymbol }) => moduleSymbol == 'administration'); + if (administration) { setRenderUser(true) } + }, []) + return ( <Switch> + + <Route path="/document/create/:id?" component={DocumentEdit} /> <Route path="/document/detail/:id" component={DocumentDetail} /> <Route path="/index/workbench/announcement" component={Announcement} /> @@ -58,21 +67,30 @@ <Route path="/merits/meritsDispose" component={MeritsDispose} /> <Route path="/merits/meritsExamine" component={MeritsDetail} /> - <Route path="/baseManage/user/Detail/:id/:flag" component={UserDetail} /> - <Route path="/baseManage/user" component={UserManage} /> - <Route path="/baseManage/group/Detail/:id/:flag" component={GroupDetail} /> - <Route path="/baseManage/group" component={GroupManage} /> - <Route path="/organizationMgt/unit" component={UnitManage} /> - <Route path="/organizationMgt/department" component={DepartmentManage} /> - <Route path="/organizationMgt/job" component={JobManage} /> - <Route path="/resourceMgt/appService/Detail/:id/:flag" component={AppServiceDetail} /> - <Route path="/resourceMgt/appService" component={AppServiceManage} /> - <Route path="/resourceMgt/modules" component={ModulesManage} /> - <Route path="/resourceMgt/function" component={FunctionManage} /> - <Route path="/organizationMgt/role/Detail/:id/:flag" component={RoleDetail} /> - <Route path="/authorityMgt/role" component={RoleManage} /> - <Route path="/authorityMgt/authority" component={AuthorityManage} /> - <Redirect from='/' to="/baseManage/user" component={UserManage} /> + { + renderUser && + <React.Fragment> + <Route path="/baseManage/user/Detail/:id/:flag" component={UserDetail} /> + <Route path="/baseManage/user" component={UserManage} /> + <Route path="/baseManage/group/Detail/:id/:flag" component={GroupDetail} /> + <Route path="/baseManage/group" component={GroupManage} /> + <Route path="/organizationMgt/unit" component={UnitManage} /> + <Route path="/organizationMgt/department" component={DepartmentManage} /> + <Route path="/organizationMgt/job" component={JobManage} /> + <Route path="/resourceMgt/appService/Detail/:id/:flag" component={AppServiceDetail} /> + <Route path="/resourceMgt/appService" component={AppServiceManage} /> + <Route path="/resourceMgt/modules" component={ModulesManage} /> + <Route path="/resourceMgt/function" component={FunctionManage} /> + <Route path="/organizationMgt/role/Detail/:id/:flag" component={RoleDetail} /> + <Route path="/authorityMgt/role" component={RoleManage} /> + <Route path="/authorityMgt/authority" component={AuthorityManage} /> + <Redirect from='/' to="/baseManage/user" component={UserManage} /> + </React.Fragment> + } + + <div> + + </div> <Route path="/" component={Workbench} /> <Redirect from="/" to="/index" component={Workbench} /> -- Gitblit v1.8.0