网易首页 > 网易号 > 正文 申请入驻

4角色后台的权限攻防战:JWT+双层验证如何拦截14次越权尝试

0
分享至

当4个不同权限的用户共用一套系统,怎么防止前台志愿者误删审计日志?这是Project Morpheus在设计之初就要解决的核心问题。

外部黑客往往不是最大的威胁。真正的风险来自内部——权限提升(Privilege Escalation)。一个拥有基础权限的用户,可能通过系统漏洞获取更高权限,造成不可逆的数据损坏。


本文将拆解这套基于React和Express的多角色权限架构,看看如何用技术手段把"人"的因素锁死在安全边界内。

一、JWT认证:权限体系的数字身份证

整个架构的底座是JWT(JSON Web Token)认证。用户登录后,后端签发一个包含以下信息的签名令牌:

  • 用户身份标识
  • 角色信息(desk_volunteer/warden/supervisor/auditor)
  • 所属hostelId(针对宿管员的角色隔离)

这个令牌存储在浏览器端,每次API请求通过Authorization头部携带:

Authorization: Bearer

hostelId字段的设计很关键——它让宿管员自动被限制在自己管理的楼栋范围内,无需每次查询数据库验证权限。这个字段成为后续权限感知API和角色专属仪表盘的基础。

二、混合架构:Express与Serverless的取舍

项目需要同时支持两种部署模式:

  • 传统服务器部署(完整Express应用)
  • Serverless函数(Vercel/Netlify边缘部署)

最终采用混合架构:中央Express server.js处理路由分发、认证中间件和全局错误处理;每个具体路由拆分为独立的serverless函数:

/api/teams/verify.js

/api/hostels/allocate.js

/api/audit/logs.js

这种设计带来的收益很明确:本地开发时运行完整Express服务器,部署到边缘节点时每个函数独立扩展——而代码库只需要维护一份。

三、双层守卫:为什么前端隐藏按钮不够

前端重应用最常见的安全误区:只在UI层做防护。

React里把删除按钮藏起来,并不能阻止攻击者直接用curl或Postman调用你的API。任何懂网络的用户都可以绕过界面,直接命中后端接口。

Morpheus采用双层守卫架构。

第一层:前端路由守卫

React中实现ProtectedRoute包装组件,在渲染前验证用户角色:

const ProtectedRoute = ({ allowedRoles, children }) => { const { user } = useAuth(); if (!allowedRoles.includes(user.role)) { return ; } return children; };

这样前端代码更简洁,也减少了条件渲染带来的bug。

第二层:后端中间件验证

每个API路由都包裹授权中间件。即使攻击者完全绕过前端,服务器仍会验证:

  • 令牌签名是否有效
  • 用户角色是否具备该操作权限
  • 资源访问范围是否匹配(如hostelId)

if (req.user.role !== "Admin") { return res.status(403).json({ error: "Access denied" }); }

这才是真正的纵深防御(defense-in-depth)——两层验证相互独立,任何一层被突破仍有第二层拦截。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
吴柳芳“擦边”反转,真相终于曝光!网友:把烂牌打出王炸...

吴柳芳“擦边”反转,真相终于曝光!网友:把烂牌打出王炸...

品牌新
2026-05-08 21:01:03
中天科技和华为走到一起,竟悄悄捅破了AI算力的“天花板”

中天科技和华为走到一起,竟悄悄捅破了AI算力的“天花板”

我不叫阿哏
2026-05-08 20:23:24
深扒当年听证会孙杨母亲的发言,国际法庭到芒果综艺,她没变过

深扒当年听证会孙杨母亲的发言,国际法庭到芒果综艺,她没变过

阿废冷眼观察所
2026-05-09 01:34:35
文章亏大了!老乡张艺谋携7位陕西演员,上演40集央视大剧,缺他

文章亏大了!老乡张艺谋携7位陕西演员,上演40集央视大剧,缺他

冷紫葉
2026-05-08 23:20:13
系列赛3-0夺赛点!布伦森33分9助,尼克斯108-94再胜76人

系列赛3-0夺赛点!布伦森33分9助,尼克斯108-94再胜76人

全景体育V
2026-05-09 09:51:53
突遭*ST!301139,将强制退市

突遭*ST!301139,将强制退市

中国基金报
2026-05-08 23:36:20
伦敦世乒赛:日本女队登上领奖台!3:0大获全胜,4强对阵出炉

伦敦世乒赛:日本女队登上领奖台!3:0大获全胜,4强对阵出炉

国乒二三事
2026-05-08 18:36:22
暴击!俄乌刚签停火协议,泽连斯基突然下令:不许袭击红场阅兵!

暴击!俄乌刚签停火协议,泽连斯基突然下令:不许袭击红场阅兵!

菁菁子衿
2026-05-09 09:45:24
美股收盘:纳指、标普500指数再创新高 多只存储芯片股大涨并创新高

美股收盘:纳指、标普500指数再创新高 多只存储芯片股大涨并创新高

财联社
2026-05-09 04:02:20
楚阿梅尼首度发声回应内讧!皇马重罚两大中场:各罚款50万欧元

楚阿梅尼首度发声回应内讧!皇马重罚两大中场:各罚款50万欧元

夜白侃球
2026-05-09 09:34:03
6月1日起全国医院统一新规,看病再也不用愁,谁都不能例外

6月1日起全国医院统一新规,看病再也不用愁,谁都不能例外

老特有话说
2026-05-07 15:20:09
太阳报:卡塞米罗将生涯下一站交给一直支持他的妻子决定

太阳报:卡塞米罗将生涯下一站交给一直支持他的妻子决定

懂球帝
2026-05-08 22:09:49
“全部约满”!不少深圳人抢到了!网友:早上定5、6个闹钟就为了抢号

“全部约满”!不少深圳人抢到了!网友:早上定5、6个闹钟就为了抢号

小影的娱乐
2026-05-07 11:05:08
老外羡慕疯了!曝AMD显卡在中国竟是亏本大甩卖

老外羡慕疯了!曝AMD显卡在中国竟是亏本大甩卖

3DM游戏
2026-05-09 09:55:06
三星宣布停止在中国市场销售所有家电产品

三星宣布停止在中国市场销售所有家电产品

财联社
2026-05-06 19:32:22
霍尔木兹海峡,突发大消息!特朗普,最新发声!黄金、原油集体上涨!

霍尔木兹海峡,突发大消息!特朗普,最新发声!黄金、原油集体上涨!

证券时报e公司
2026-05-09 07:48:41
伊媒:哈尔克岛附近油污实为欧洲油轮排放物

伊媒:哈尔克岛附近油污实为欧洲油轮排放物

财联社
2026-05-09 06:34:05
国乒女团晋级四强,但仍有3大难题急待解决,马琳早就把话说透

国乒女团晋级四强,但仍有3大难题急待解决,马琳早就把话说透

八斗小先生
2026-05-08 14:23:41
懵了,三星市值破万亿=腾讯+阿里巴巴+小米……还把中国大陆家电业务给停了

懵了,三星市值破万亿=腾讯+阿里巴巴+小米……还把中国大陆家电业务给停了

新浪财经
2026-05-08 15:09:54
表哥结婚没请我家,收到酒店来电:先生,您订的80桌什么时候结账

表哥结婚没请我家,收到酒店来电:先生,您订的80桌什么时候结账

麦子情感故事
2026-05-08 22:38:44
2026-05-09 10:32:49
摸鱼算法
摸鱼算法
致力于用最前沿的AI技术,换取更多发呆时间的三十岁青年。
2385文章数 26关注度
往期回顾 全部

科技要闻

美国政府强力下场 苹果英特尔达成代工协议

头条要闻

媒体:沙特被美国激怒 海湾国家或将深化与中国关系

头条要闻

媒体:沙特被美国激怒 海湾国家或将深化与中国关系

体育要闻

他把首胜让给队友,然后用一年时间还清账单

娱乐要闻

古天乐被曝隐婚生子,新娘竟是她

财经要闻

白宫:特朗普计划5月14日至15日访问中国

汽车要闻

MG 4X实车亮相 将于5月11日开启盲订

态度原创

时尚
房产
家居
公开课
军事航空

卢昱晓真的要被审判到这种程度吗?

房产要闻

豪掷6.8亿拿地!何猷君大手笔投资三亚!

家居要闻

流动的尺度 打破家的形式主义

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美伊突然再次交火 伊朗外长:战争准备程度是1000%

无障碍浏览 进入关怀版