非超级管理员账号登录,permissionMenu会报UnsupportedOperationException错误

Blade 未结 2 122
572069853
572069853 2026-01-16 10:42

一、该问题的重现步骤是什么?

  1. 使用非超级管理员账号登录,permissionMenu会报UnsupportedOperationException错误

  2. 原因:
    image.png

2. 这个问题出现的原因是 List.of() 或 Arrays.asList() 返回的列表是不可变的(Immutable),而 CacheUtil 在反序列化时尝试向这个列表中添加元素,导致抛出 UnsupportedOperationException

3.


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  •  572069853
    572069853 (楼主)
    2026-01-16 21:20

    非管理员账号访问加了@PreAuth(menu = "***")注解权限的接口才会报错。


    已解决,permissionMenu中的以下代码

    image.png

    修改为

    image.png

    就可以了,.toList()返回的列表是不可变的(Immutable),而 CacheUtil 在反序列化时尝试向这个列表中添加元素,导致抛出 UnsupportedOperationException。

提交回复