江西省城乡建设培训中心网站,深圳招聘网站哪个好,个体工商户网站备案流程,网站建设公司那记号对于那些在界面上没显示的菜单在后台路由中也是要检查下权限的#xff0c;要不然像用户管理/userList这条路由虽然没有配给某个测试账号#xff0c;但他可以直接在地址栏输入/userList进行访问。所以在Middleware中需要增加判断用户是否有此page_url的访问权限。
/** 需要用…对于那些在界面上没显示的菜单在后台路由中也是要检查下权限的要不然像用户管理/userList这条路由虽然没有配给某个测试账号但他可以直接在地址栏输入/userList进行访问。所以在Middleware中需要增加判断用户是否有此page_url的访问权限。
/** 需要用户菜单权限*/async userPermission(req, res, next) {//先判断用户sessionif (!req.session || !req.session.user || !req.session.user.id) {return res.redirect(/login);}let hasPower false;//userMenu指当前用户拥有的菜单集合请自行db查询userMenu.forEach(el {if (el.page_url req.route.path) {hasPower true;}});if (!hasPower) {if (req.xhr) {return res.json({state: false,msg: 抱歉您无此权限请联系管理员});}return res.send(抱歉您无此权限请联系管理员);}next();}
路由中增加中间件的执行
router.get(/userList, auth.userPermission, main.showUser);