若依(RuoYi)框架中普通用户角色登录后访问接口报 403 “当前操作没有权限”错误的完整解决方案

📌 问题现象

在基于 若依(RuoYi)框架 开发的系统中,我们为"普通用户"角色分配了某个功能模块的查询权限,但用户登录后访问对应页面时,接口请求显示200 OK,但是返回结果是

{"msg":"没有权限,请联系管理员授权","code":403}

前端提示:

✅ 正确解决步骤(亲测有效)

第一步:检查 Controller 权限注解

确保你的接口使用了正确的权限标识,例如:

@RestController

@RequestMapping("/process/transport")

public class TransportController {

@PreAuthorize("@ss.hasPermi('process:transport:list')")

@GetMapping("/list")

public TableDataInfo list(Transport transport) {

// ...

}

}

⚠️ 注意:权限字符串是 process:transport:list,不是 transport:list!

第二步:在「菜单管理」中配置按钮权限【管理员模式】

1、进入 系统管理 → 菜单管理

2、找到你的功能模块(如"运输管理"),类型为 菜单(M)

3、在其下新增 按钮(C),例如:

💡 权限字符必须与 Controller 中的 hasPermi() 参数完全一致!

第三步:给角色分配权限(最容易遗漏!)【管理员模式】

这是 90% 问题的根源!

1、进入 系统管理 → 角色管理

2、编辑目标角色(如"普通用户")

3、在 "菜单权限" 中:

展开"运输管理"

手动勾选"运输数据查询"按钮

确保"父子联动"已开启(否则需逐个勾选)

✅ 如果没勾选,即使按钮存在,系统也认为用户"没有这个权限"!

注意只要是调用到的接口,包括增删改查,都可以添加按钮,默认是隐藏的。

第四步:刷新权限缓存【可忽略此步骤】

若依默认将用户权限缓存在 Redis 中。修改数据库后必须刷新缓存!

方法一:重启服务(开发环境推荐)

停止并重启 Java 应用

pkill -f your-app.jar

nohup java -jar your-app.jar &

方法二:清空 Redis 缓存(生产环境可用)

redis-cli

> del sys:role:perms:*

> exit

❌ 不要重启 Redis 服务!只需删除特定 key 即可。

第五步:验证请求路径

使用浏览器开发者工具(F12 → Network),确认前端请求的是:

GET /process/transport/list

而不是:

GET /transport/list ❌ 路径错误,会 404 或绕过权限

🧩 常见误区总结【注意前后端权限标识一致!!!】

✅ 最佳实践建议

1、统一命名规范:

查询:module:resource:list
新增:module:resource:add
导出:module:resource:export

2、遵循最小权限原则:

普通用户只给 list 和 query
管理员再开放 add/edit/remove

3、开发时开启日志:

log.info("当前用户权限: {}", loginUser.getPermissions());

方便快速排查。

🎯 总结

若依 403 无权限 ≠ 没配权限,而是"配得不对"或"没生效"!

只要做到:

注解一致 + 菜单正确 + 角色分配 + 缓存刷新

就能彻底解决权限问题!

相关推荐
福兮说5 小时前
设计稿是 #4A7C6F,页面量出来是 #4B7C6F:HEX、HSL、透明度、canvas 来回转的七个坑
前端·javascript·css·canvas
郑州光合科技余经理6 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
小呆呆6666 小时前
副业搞起来,小说,漫画,漫剧的成本优化思路
前端·后端·面试
Dovis(誓平步青云)7 小时前
浇水提醒刚弹出又消失,植物状态别只存一个百分比
开发语言·前端·javascript·pdf·ecmascript·电脑
码艺-Alimjan7 小时前
Vben Admin 新增维吾尔语 Vben-Modal的关键坑之一
前端·javascript·vue.js
可乐鸡翅yeah_8 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
IT_陈寒8 小时前
Vite静态资源导入这个坑我帮你们踩过了
前端·人工智能·后端
广州华水科技8 小时前
大坝安全监测解决方案:单北斗GNSS形变监测系统应用与维护
前端
yivifu9 小时前
中文古籍电子书注释集成
前端·javascript·python·beautifulsoup·epub
默_笙10 小时前
🛴 从散件到整机:DeepAgents 与 Agent 身上预留的那些"插槽"(前置介绍)
前端·javascript